YES 46.033 H-Termination proof of /home/matraf/haskell/eval_FullyBlown_Fast/FiniteMap.hs
H-Termination of the given Haskell-Program with start terms could successfully be proven:



HASKELL
  ↳ LR

mainModule FiniteMap
  ((intersectFM_C :: Ord b => (c  ->  a  ->  d ->  FiniteMap b c  ->  FiniteMap b a  ->  FiniteMap b d) :: Ord b => (c  ->  a  ->  d ->  FiniteMap b c  ->  FiniteMap b a  ->  FiniteMap b d)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord b => FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM fm key elt addToFM_C (\old new ->new) fm key elt

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  deleteMax :: Ord a => FiniteMap a b  ->  FiniteMap a b
deleteMax (Branch key elt _ fm_l EmptyFMfm_l
deleteMax (Branch key elt _ fm_l fm_rmkBalBranch key elt fm_l (deleteMax fm_r)

  deleteMin :: Ord b => FiniteMap b a  ->  FiniteMap b a
deleteMin (Branch key elt _ EmptyFM fm_rfm_r
deleteMin (Branch key elt _ fm_l fm_rmkBalBranch key elt (deleteMin fm_l) fm_r

  emptyFM :: FiniteMap a b
emptyFM EmptyFM

  findMax :: FiniteMap a b  ->  (a,b)
findMax (Branch key elt _ _ EmptyFM(key,elt)
findMax (Branch key elt _ _ fm_rfindMax fm_r

  findMin :: FiniteMap a b  ->  (a,b)
findMin (Branch key elt _ EmptyFM _) (key,elt)
findMin (Branch key elt _ fm_l _) findMin fm_l

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM (\key elt rest ->(key,elt: rest) [] fm

  foldFM :: (b  ->  c  ->  a  ->  a ->  a  ->  FiniteMap b c  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  glueBal :: Ord a => FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
glueBal EmptyFM fm2 fm2
glueBal fm1 EmptyFM fm1
glueBal fm1 fm2 
 | sizeFM fm2 > sizeFM fm1 = 
mkBalBranch mid_key2 mid_elt2 fm1 (deleteMin fm2)
 | otherwise = 
mkBalBranch mid_key1 mid_elt1 (deleteMax fm1) fm2 where 
mid_elt1 (\(_,mid_elt1) ->mid_elt1) vv2
mid_elt2 (\(_,mid_elt2) ->mid_elt2) vv3
mid_key1 (\(mid_key1,_) ->mid_key1) vv2
mid_key2 (\(mid_key2,_) ->mid_key2) vv3
vv2 findMax fm1
vv3 findMin fm2

  glueVBal :: Ord a => FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
glueVBal EmptyFM fm2 fm2
glueVBal fm1 EmptyFM fm1
glueVBal fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (glueVBal fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (glueVBal fm_lr fm_r)
 | otherwise = 
glueBal fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  intersectFM_C :: Ord a => (c  ->  d  ->  b ->  FiniteMap a c  ->  FiniteMap a d  ->  FiniteMap a b
intersectFM_C combiner fm1 EmptyFM emptyFM
intersectFM_C combiner EmptyFM fm2 emptyFM
intersectFM_C combiner fm1 (Branch split_key elt2 _ left right
 | Maybe.isJust maybe_elt1 = 
mkVBalBranch split_key (combiner elt1 elt2) (intersectFM_C combiner lts left) (intersectFM_C combiner gts right)
 | otherwise = 
glueVBal (intersectFM_C combiner lts left) (intersectFM_C combiner gts right) where 
elt1 (\(Just elt1) ->elt1) vv1
gts splitGT fm1 split_key
lts splitLT fm1 split_key
maybe_elt1 lookupFM fm1 split_key
vv1 maybe_elt1

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  mkBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
case fm_R of
  Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr -> 
single_L fm_L fm_R
 | otherwise -> 
double_L fm_L fm_R
 | size_l > sIZE_RATIO * size_r = 
case fm_L of
  Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll -> 
single_R fm_L fm_R
 | otherwise -> 
double_R fm_L fm_R
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r _ (Branch key_rl elt_rl _ fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l _ fm_ll (Branch key_lr elt_lr _ fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
single_L fm_l (Branch key_r elt_r _ fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l _ fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord a => Int  ->  a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok 
case fm_l of
  EmptyFM-> True
  Branch left_key _ _ _ _-> 
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok 
case fm_r of
  EmptyFM-> True
  Branch right_key _ _ _ _-> 
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (mkVBalBranch key elt fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r)
 | otherwise = 
mkBranch 13 key elt fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: b  ->  a  ->  FiniteMap b a
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude

  isJust :: Maybe a  ->  Bool
isJust Nothing False
isJust True



Lambda Reductions:
The following Lambda expression
\(mid_key1,_)→mid_key1

is transformed to
mid_key10 (mid_key1,_) = mid_key1

The following Lambda expression
\(_,mid_elt1)→mid_elt1

is transformed to
mid_elt10 (_,mid_elt1) = mid_elt1

The following Lambda expression
\(mid_key2,_)→mid_key2

is transformed to
mid_key20 (mid_key2,_) = mid_key2

The following Lambda expression
\(_,mid_elt2)→mid_elt2

is transformed to
mid_elt20 (_,mid_elt2) = mid_elt2

The following Lambda expression
\(Just elt1)→elt1

is transformed to
elt10 (Just elt1) = elt1

The following Lambda expression
\keyeltrest→(key,elt: rest

is transformed to
fmToList0 key elt rest = (key,elt: rest

The following Lambda expression
\oldnewnew

is transformed to
addToFM0 old new = new



↳ HASKELL
  ↳ LR
HASKELL
      ↳ CR

mainModule FiniteMap
  ((intersectFM_C :: Ord b => (a  ->  d  ->  c ->  FiniteMap b a  ->  FiniteMap b d  ->  FiniteMap b c) :: Ord b => (a  ->  d  ->  c ->  FiniteMap b a  ->  FiniteMap b d  ->  FiniteMap b c)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord a => FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  deleteMax :: Ord a => FiniteMap a b  ->  FiniteMap a b
deleteMax (Branch key elt _ fm_l EmptyFMfm_l
deleteMax (Branch key elt _ fm_l fm_rmkBalBranch key elt fm_l (deleteMax fm_r)

  deleteMin :: Ord b => FiniteMap b a  ->  FiniteMap b a
deleteMin (Branch key elt _ EmptyFM fm_rfm_r
deleteMin (Branch key elt _ fm_l fm_rmkBalBranch key elt (deleteMin fm_l) fm_r

  emptyFM :: FiniteMap b a
emptyFM EmptyFM

  findMax :: FiniteMap b a  ->  (b,a)
findMax (Branch key elt _ _ EmptyFM(key,elt)
findMax (Branch key elt _ _ fm_rfindMax fm_r

  findMin :: FiniteMap a b  ->  (a,b)
findMin (Branch key elt _ EmptyFM _) (key,elt)
findMin (Branch key elt _ fm_l _) findMin fm_l

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (b  ->  c  ->  a  ->  a ->  a  ->  FiniteMap b c  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  glueBal :: Ord a => FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
glueBal EmptyFM fm2 fm2
glueBal fm1 EmptyFM fm1
glueBal fm1 fm2 
 | sizeFM fm2 > sizeFM fm1 = 
mkBalBranch mid_key2 mid_elt2 fm1 (deleteMin fm2)
 | otherwise = 
mkBalBranch mid_key1 mid_elt1 (deleteMax fm1) fm2 where 
mid_elt1 mid_elt10 vv2
mid_elt10 (_,mid_elt1mid_elt1
mid_elt2 mid_elt20 vv3
mid_elt20 (_,mid_elt2mid_elt2
mid_key1 mid_key10 vv2
mid_key10 (mid_key1,_) mid_key1
mid_key2 mid_key20 vv3
mid_key20 (mid_key2,_) mid_key2
vv2 findMax fm1
vv3 findMin fm2

  glueVBal :: Ord a => FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
glueVBal EmptyFM fm2 fm2
glueVBal fm1 EmptyFM fm1
glueVBal fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (glueVBal fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (glueVBal fm_lr fm_r)
 | otherwise = 
glueBal fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  intersectFM_C :: Ord b => (c  ->  a  ->  d ->  FiniteMap b c  ->  FiniteMap b a  ->  FiniteMap b d
intersectFM_C combiner fm1 EmptyFM emptyFM
intersectFM_C combiner EmptyFM fm2 emptyFM
intersectFM_C combiner fm1 (Branch split_key elt2 _ left right
 | Maybe.isJust maybe_elt1 = 
mkVBalBranch split_key (combiner elt1 elt2) (intersectFM_C combiner lts left) (intersectFM_C combiner gts right)
 | otherwise = 
glueVBal (intersectFM_C combiner lts left) (intersectFM_C combiner gts right) where 
elt1 elt10 vv1
elt10 (Just elt1elt1
gts splitGT fm1 split_key
lts splitLT fm1 split_key
maybe_elt1 lookupFM fm1 split_key
vv1 maybe_elt1

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  mkBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
case fm_R of
  Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr -> 
single_L fm_L fm_R
 | otherwise -> 
double_L fm_L fm_R
 | size_l > sIZE_RATIO * size_r = 
case fm_L of
  Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll -> 
single_R fm_L fm_R
 | otherwise -> 
double_R fm_L fm_R
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r _ (Branch key_rl elt_rl _ fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l _ fm_ll (Branch key_lr elt_lr _ fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
single_L fm_l (Branch key_r elt_r _ fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l _ fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord a => Int  ->  a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok 
case fm_l of
  EmptyFM-> True
  Branch left_key _ _ _ _-> 
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok 
case fm_r of
  EmptyFM-> True
  Branch right_key _ _ _ _-> 
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (mkVBalBranch key elt fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r)
 | otherwise = 
mkBranch 13 key elt fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: b  ->  a  ->  FiniteMap b a
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude

  isJust :: Maybe a  ->  Bool
isJust Nothing False
isJust True



Case Reductions:
The following Case expression
case fm_l of
 EmptyFM → True
 Branch left_key _ _ _ _ → 
let 
biggest_left_key  = fst (findMax fm_l)
in biggest_left_key < key

is transformed to
left_ok0 fm_l key EmptyFM = True
left_ok0 fm_l key (Branch left_key _ _ _ _) = 
let 
biggest_left_key  = fst (findMax fm_l)
in biggest_left_key < key

The following Case expression
case fm_r of
 EmptyFM → True
 Branch right_key _ _ _ _ → 
let 
smallest_right_key  = fst (findMin fm_r)
in key < smallest_right_key

is transformed to
right_ok0 fm_r key EmptyFM = True
right_ok0 fm_r key (Branch right_key _ _ _ _) = 
let 
smallest_right_key  = fst (findMin fm_r)
in key < smallest_right_key

The following Case expression
case fm_R of
 Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr
 → single_L fm_L fm_R
 | otherwise
 → double_L fm_L fm_R

is transformed to
mkBalBranch0 fm_L fm_R (Branch _ _ _ fm_rl fm_rr)
 | sizeFM fm_rl < 2 * sizeFM fm_rr
 = single_L fm_L fm_R
 | otherwise
 = double_L fm_L fm_R

The following Case expression
case fm_L of
 Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll
 → single_R fm_L fm_R
 | otherwise
 → double_R fm_L fm_R

is transformed to
mkBalBranch1 fm_L fm_R (Branch _ _ _ fm_ll fm_lr)
 | sizeFM fm_lr < 2 * sizeFM fm_ll
 = single_R fm_L fm_R
 | otherwise
 = double_R fm_L fm_R

The following Case expression
case compare x y of
 EQ → o
 LT → LT
 GT → GT

is transformed to
primCompAux0 o EQ = o
primCompAux0 o LT = LT
primCompAux0 o GT = GT



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
HASKELL
          ↳ IFR

mainModule FiniteMap
  ((intersectFM_C :: Ord b => (a  ->  d  ->  c ->  FiniteMap b a  ->  FiniteMap b d  ->  FiniteMap b c) :: Ord b => (a  ->  d  ->  c ->  FiniteMap b a  ->  FiniteMap b d  ->  FiniteMap b c)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord a => FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  deleteMax :: Ord b => FiniteMap b a  ->  FiniteMap b a
deleteMax (Branch key elt _ fm_l EmptyFMfm_l
deleteMax (Branch key elt _ fm_l fm_rmkBalBranch key elt fm_l (deleteMax fm_r)

  deleteMin :: Ord b => FiniteMap b a  ->  FiniteMap b a
deleteMin (Branch key elt _ EmptyFM fm_rfm_r
deleteMin (Branch key elt _ fm_l fm_rmkBalBranch key elt (deleteMin fm_l) fm_r

  emptyFM :: FiniteMap a b
emptyFM EmptyFM

  findMax :: FiniteMap b a  ->  (b,a)
findMax (Branch key elt _ _ EmptyFM(key,elt)
findMax (Branch key elt _ _ fm_rfindMax fm_r

  findMin :: FiniteMap b a  ->  (b,a)
findMin (Branch key elt _ EmptyFM _) (key,elt)
findMin (Branch key elt _ fm_l _) findMin fm_l

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (a  ->  c  ->  b  ->  b ->  b  ->  FiniteMap a c  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  glueBal :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
glueBal EmptyFM fm2 fm2
glueBal fm1 EmptyFM fm1
glueBal fm1 fm2 
 | sizeFM fm2 > sizeFM fm1 = 
mkBalBranch mid_key2 mid_elt2 fm1 (deleteMin fm2)
 | otherwise = 
mkBalBranch mid_key1 mid_elt1 (deleteMax fm1) fm2 where 
mid_elt1 mid_elt10 vv2
mid_elt10 (_,mid_elt1mid_elt1
mid_elt2 mid_elt20 vv3
mid_elt20 (_,mid_elt2mid_elt2
mid_key1 mid_key10 vv2
mid_key10 (mid_key1,_) mid_key1
mid_key2 mid_key20 vv3
mid_key20 (mid_key2,_) mid_key2
vv2 findMax fm1
vv3 findMin fm2

  glueVBal :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
glueVBal EmptyFM fm2 fm2
glueVBal fm1 EmptyFM fm1
glueVBal fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (glueVBal fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (glueVBal fm_lr fm_r)
 | otherwise = 
glueBal fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  intersectFM_C :: Ord c => (a  ->  b  ->  d ->  FiniteMap c a  ->  FiniteMap c b  ->  FiniteMap c d
intersectFM_C combiner fm1 EmptyFM emptyFM
intersectFM_C combiner EmptyFM fm2 emptyFM
intersectFM_C combiner fm1 (Branch split_key elt2 _ left right
 | Maybe.isJust maybe_elt1 = 
mkVBalBranch split_key (combiner elt1 elt2) (intersectFM_C combiner lts left) (intersectFM_C combiner gts right)
 | otherwise = 
glueVBal (intersectFM_C combiner lts left) (intersectFM_C combiner gts right) where 
elt1 elt10 vv1
elt10 (Just elt1elt1
gts splitGT fm1 split_key
lts splitLT fm1 split_key
maybe_elt1 lookupFM fm1 split_key
vv1 maybe_elt1

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  mkBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
mkBalBranch0 fm_L fm_R fm_R
 | size_l > sIZE_RATIO * size_r = 
mkBalBranch1 fm_L fm_R fm_L
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r _ (Branch key_rl elt_rl _ fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l _ fm_ll (Branch key_lr elt_lr _ fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr = 
single_L fm_L fm_R
 | otherwise = 
double_L fm_L fm_R
mkBalBranch1 fm_L fm_R (Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll = 
single_R fm_L fm_R
 | otherwise = 
double_R fm_L fm_R
single_L fm_l (Branch key_r elt_r _ fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l _ fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord b => Int  ->  b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM True
left_ok0 fm_l key (Branch left_key _ _ _ _) 
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM True
right_ok0 fm_r key (Branch right_key _ _ _ _) 
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (mkVBalBranch key elt fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r)
 | otherwise = 
mkBranch 13 key elt fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude

  isJust :: Maybe a  ->  Bool
isJust Nothing False
isJust True



If Reductions:
The following If expression
if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero

is transformed to
primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y))
primDivNatS0 x y False = Zero

The following If expression
if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x

is transformed to
primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y)
primModNatS0 x y False = Succ x



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
HASKELL
              ↳ BR

mainModule FiniteMap
  ((intersectFM_C :: Ord a => (d  ->  c  ->  b ->  FiniteMap a d  ->  FiniteMap a c  ->  FiniteMap a b) :: Ord a => (d  ->  c  ->  b ->  FiniteMap a d  ->  FiniteMap a c  ->  FiniteMap a b)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord a => FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  deleteMax :: Ord b => FiniteMap b a  ->  FiniteMap b a
deleteMax (Branch key elt _ fm_l EmptyFMfm_l
deleteMax (Branch key elt _ fm_l fm_rmkBalBranch key elt fm_l (deleteMax fm_r)

  deleteMin :: Ord a => FiniteMap a b  ->  FiniteMap a b
deleteMin (Branch key elt _ EmptyFM fm_rfm_r
deleteMin (Branch key elt _ fm_l fm_rmkBalBranch key elt (deleteMin fm_l) fm_r

  emptyFM :: FiniteMap a b
emptyFM EmptyFM

  findMax :: FiniteMap a b  ->  (a,b)
findMax (Branch key elt _ _ EmptyFM(key,elt)
findMax (Branch key elt _ _ fm_rfindMax fm_r

  findMin :: FiniteMap b a  ->  (b,a)
findMin (Branch key elt _ EmptyFM _) (key,elt)
findMin (Branch key elt _ fm_l _) findMin fm_l

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (b  ->  a  ->  c  ->  c ->  c  ->  FiniteMap b a  ->  c
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  glueBal :: Ord a => FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
glueBal EmptyFM fm2 fm2
glueBal fm1 EmptyFM fm1
glueBal fm1 fm2 
 | sizeFM fm2 > sizeFM fm1 = 
mkBalBranch mid_key2 mid_elt2 fm1 (deleteMin fm2)
 | otherwise = 
mkBalBranch mid_key1 mid_elt1 (deleteMax fm1) fm2 where 
mid_elt1 mid_elt10 vv2
mid_elt10 (_,mid_elt1mid_elt1
mid_elt2 mid_elt20 vv3
mid_elt20 (_,mid_elt2mid_elt2
mid_key1 mid_key10 vv2
mid_key10 (mid_key1,_) mid_key1
mid_key2 mid_key20 vv3
mid_key20 (mid_key2,_) mid_key2
vv2 findMax fm1
vv3 findMin fm2

  glueVBal :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
glueVBal EmptyFM fm2 fm2
glueVBal fm1 EmptyFM fm1
glueVBal fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (glueVBal fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (glueVBal fm_lr fm_r)
 | otherwise = 
glueBal fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  intersectFM_C :: Ord c => (b  ->  a  ->  d ->  FiniteMap c b  ->  FiniteMap c a  ->  FiniteMap c d
intersectFM_C combiner fm1 EmptyFM emptyFM
intersectFM_C combiner EmptyFM fm2 emptyFM
intersectFM_C combiner fm1 (Branch split_key elt2 _ left right
 | Maybe.isJust maybe_elt1 = 
mkVBalBranch split_key (combiner elt1 elt2) (intersectFM_C combiner lts left) (intersectFM_C combiner gts right)
 | otherwise = 
glueVBal (intersectFM_C combiner lts left) (intersectFM_C combiner gts right) where 
elt1 elt10 vv1
elt10 (Just elt1elt1
gts splitGT fm1 split_key
lts splitLT fm1 split_key
maybe_elt1 lookupFM fm1 split_key
vv1 maybe_elt1

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  mkBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
mkBalBranch0 fm_L fm_R fm_R
 | size_l > sIZE_RATIO * size_r = 
mkBalBranch1 fm_L fm_R fm_L
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r _ (Branch key_rl elt_rl _ fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l _ fm_ll (Branch key_lr elt_lr _ fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr = 
single_L fm_L fm_R
 | otherwise = 
double_L fm_L fm_R
mkBalBranch1 fm_L fm_R (Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll = 
single_R fm_L fm_R
 | otherwise = 
double_R fm_L fm_R
single_L fm_l (Branch key_r elt_r _ fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l _ fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord b => Int  ->  b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM True
left_ok0 fm_l key (Branch left_key _ _ _ _) 
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM True
right_ok0 fm_r key (Branch right_key _ _ _ _) 
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (mkVBalBranch key elt fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r)
 | otherwise = 
mkBranch 13 key elt fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude

  isJust :: Maybe a  ->  Bool
isJust Nothing False
isJust True



Replaced joker patterns by fresh variables and removed binding patterns.
Binding Reductions:
The bind variable of the following binding Pattern
fm_l@(Branch yy yz zu zv zw)

is replaced by the following term
Branch yy yz zu zv zw

The bind variable of the following binding Pattern
fm_r@(Branch zy zz vuu vuv vuw)

is replaced by the following term
Branch zy zz vuu vuv vuw

The bind variable of the following binding Pattern
fm_l@(Branch vuy vuz vvu vvv vvw)

is replaced by the following term
Branch vuy vuz vvu vvv vvw

The bind variable of the following binding Pattern
fm_r@(Branch vvy vvz vwu vwv vww)

is replaced by the following term
Branch vvy vvz vwu vwv vww



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
HASKELL
                  ↳ COR

mainModule FiniteMap
  ((intersectFM_C :: Ord c => (d  ->  a  ->  b ->  FiniteMap c d  ->  FiniteMap c a  ->  FiniteMap c b) :: Ord c => (d  ->  a  ->  b ->  FiniteMap c d  ->  FiniteMap c a  ->  FiniteMap c b)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord b => FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  deleteMax :: Ord a => FiniteMap a b  ->  FiniteMap a b
deleteMax (Branch key elt vwx fm_l EmptyFMfm_l
deleteMax (Branch key elt vwy fm_l fm_rmkBalBranch key elt fm_l (deleteMax fm_r)

  deleteMin :: Ord b => FiniteMap b a  ->  FiniteMap b a
deleteMin (Branch key elt wuw EmptyFM fm_rfm_r
deleteMin (Branch key elt wux fm_l fm_rmkBalBranch key elt (deleteMin fm_l) fm_r

  emptyFM :: FiniteMap b a
emptyFM EmptyFM

  findMax :: FiniteMap b a  ->  (b,a)
findMax (Branch key elt vyz vzu EmptyFM(key,elt)
findMax (Branch key elt vzv vzw fm_rfindMax fm_r

  findMin :: FiniteMap b a  ->  (b,a)
findMin (Branch key elt wz EmptyFM xu(key,elt)
findMin (Branch key elt xv fm_l xwfindMin fm_l

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (b  ->  c  ->  a  ->  a ->  a  ->  FiniteMap b c  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt wy fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  glueBal :: Ord a => FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
glueBal EmptyFM fm2 fm2
glueBal fm1 EmptyFM fm1
glueBal fm1 fm2 
 | sizeFM fm2 > sizeFM fm1 = 
mkBalBranch mid_key2 mid_elt2 fm1 (deleteMin fm2)
 | otherwise = 
mkBalBranch mid_key1 mid_elt1 (deleteMax fm1) fm2 where 
mid_elt1 mid_elt10 vv2
mid_elt10 (vzx,mid_elt1mid_elt1
mid_elt2 mid_elt20 vv3
mid_elt20 (vzy,mid_elt2mid_elt2
mid_key1 mid_key10 vv2
mid_key10 (mid_key1,vzzmid_key1
mid_key2 mid_key20 vv3
mid_key20 (mid_key2,wuumid_key2
vv2 findMax fm1
vv3 findMin fm2

  glueVBal :: Ord a => FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
glueVBal EmptyFM fm2 fm2
glueVBal fm1 EmptyFM fm1
glueVBal (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch zy zz (glueVBal (Branch yy yz zu zv zw) vuv) vuw
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch yy yz zv (glueVBal zw (Branch zy zz vuu vuv vuw))
 | otherwise = 
glueBal (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw) where 
size_l sizeFM (Branch yy yz zu zv zw)
size_r sizeFM (Branch zy zz vuu vuv vuw)

  intersectFM_C :: Ord d => (c  ->  a  ->  b ->  FiniteMap d c  ->  FiniteMap d a  ->  FiniteMap d b
intersectFM_C combiner fm1 EmptyFM emptyFM
intersectFM_C combiner EmptyFM fm2 emptyFM
intersectFM_C combiner fm1 (Branch split_key elt2 wuy left right
 | Maybe.isJust maybe_elt1 = 
mkVBalBranch split_key (combiner elt1 elt2) (intersectFM_C combiner lts left) (intersectFM_C combiner gts right)
 | otherwise = 
glueVBal (intersectFM_C combiner lts left) (intersectFM_C combiner gts right) where 
elt1 elt10 vv1
elt10 (Just elt1elt1
gts splitGT fm1 split_key
lts splitLT fm1 split_key
maybe_elt1 lookupFM fm1 split_key
vv1 maybe_elt1

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt wuv fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  mkBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
mkBalBranch0 fm_L fm_R fm_R
 | size_l > sIZE_RATIO * size_r = 
mkBalBranch1 fm_L fm_R fm_L
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r vxz (Branch key_rl elt_rl vyu fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vxu fm_ll (Branch key_lr elt_lr vxv fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr = 
single_L fm_L fm_R
 | otherwise = 
double_L fm_L fm_R
mkBalBranch1 fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll = 
single_R fm_L fm_R
 | otherwise = 
double_R fm_L fm_R
single_L fm_l (Branch key_r elt_r vyy fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l vwz fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord a => Int  ->  a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM True
left_ok0 fm_l key (Branch left_key vw vx vy vz
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM True
right_ok0 fm_r key (Branch right_key wu wv ww wx
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt (Branch vuy vuz vvu vvv vvw) (Branch vvy vvz vwu vwv vww
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch vvy vvz (mkVBalBranch key elt (Branch vuy vuz vvu vvv vvw) vwv) vww
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch vuy vuz vvv (mkVBalBranch key elt vvw (Branch vvy vvz vwu vwv vww))
 | otherwise = 
mkBranch 13 key elt (Branch vuy vuz vvu vvv vvw) (Branch vvy vvz vwu vwv vww) where 
size_l sizeFM (Branch vuy vuz vvu vvv vvw)
size_r sizeFM (Branch vvy vvz vwu vwv vww)

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch xz yu size yv ywsize

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt xy fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt xx fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude

  isJust :: Maybe a  ->  Bool
isJust Nothing False
isJust wuz True



Cond Reductions:
The following Function with conditions
splitLT EmptyFM split_key = emptyFM
splitLT (Branch key elt xx fm_l fm_rsplit_key
 | split_key < key
 = splitLT fm_l split_key
 | split_key > key
 = mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise
 = fm_l

is transformed to
splitLT EmptyFM split_key = splitLT4 EmptyFM split_key
splitLT (Branch key elt xx fm_l fm_rsplit_key = splitLT3 (Branch key elt xx fm_l fm_rsplit_key

splitLT2 key elt xx fm_l fm_r split_key True = splitLT fm_l split_key
splitLT2 key elt xx fm_l fm_r split_key False = splitLT1 key elt xx fm_l fm_r split_key (split_key > key)

splitLT1 key elt xx fm_l fm_r split_key True = mkVBalBranch key elt fm_l (splitLT fm_r split_key)
splitLT1 key elt xx fm_l fm_r split_key False = splitLT0 key elt xx fm_l fm_r split_key otherwise

splitLT0 key elt xx fm_l fm_r split_key True = fm_l

splitLT3 (Branch key elt xx fm_l fm_rsplit_key = splitLT2 key elt xx fm_l fm_r split_key (split_key < key)

splitLT4 EmptyFM split_key = emptyFM
splitLT4 wzz xuu = splitLT3 wzz xuu

The following Function with conditions
splitGT EmptyFM split_key = emptyFM
splitGT (Branch key elt xy fm_l fm_rsplit_key
 | split_key > key
 = splitGT fm_r split_key
 | split_key < key
 = mkVBalBranch key elt (splitGT fm_l split_keyfm_r
 | otherwise
 = fm_r

is transformed to
splitGT EmptyFM split_key = splitGT4 EmptyFM split_key
splitGT (Branch key elt xy fm_l fm_rsplit_key = splitGT3 (Branch key elt xy fm_l fm_rsplit_key

splitGT2 key elt xy fm_l fm_r split_key True = splitGT fm_r split_key
splitGT2 key elt xy fm_l fm_r split_key False = splitGT1 key elt xy fm_l fm_r split_key (split_key < key)

splitGT1 key elt xy fm_l fm_r split_key True = mkVBalBranch key elt (splitGT fm_l split_keyfm_r
splitGT1 key elt xy fm_l fm_r split_key False = splitGT0 key elt xy fm_l fm_r split_key otherwise

splitGT0 key elt xy fm_l fm_r split_key True = fm_r

splitGT3 (Branch key elt xy fm_l fm_rsplit_key = splitGT2 key elt xy fm_l fm_r split_key (split_key > key)

splitGT4 EmptyFM split_key = emptyFM
splitGT4 xux xuy = splitGT3 xux xuy

The following Function with conditions
glueVBal EmptyFM fm2 = fm2
glueVBal fm1 EmptyFM = fm1
glueVBal (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
 | sIZE_RATIO * size_l < size_r
 = mkBalBranch zy zz (glueVBal (Branch yy yz zu zv zwvuvvuw
 | sIZE_RATIO * size_r < size_l
 = mkBalBranch yy yz zv (glueVBal zw (Branch zy zz vuu vuv vuw))
 | otherwise
 = glueBal (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
where 
size_l  = sizeFM (Branch yy yz zu zv zw)
size_r  = sizeFM (Branch zy zz vuu vuv vuw)

is transformed to
glueVBal EmptyFM fm2 = glueVBal5 EmptyFM fm2
glueVBal fm1 EmptyFM = glueVBal4 fm1 EmptyFM
glueVBal (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw) = glueVBal3 (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

glueVBal3 (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw) = 
glueVBal2 yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_l < size_r)
where 
glueVBal0 yy yz zu zv zw zy zz vuu vuv vuw True = glueBal (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
glueVBal1 yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch yy yz zv (glueVBal zw (Branch zy zz vuu vuv vuw))
glueVBal1 yy yz zu zv zw zy zz vuu vuv vuw False = glueVBal0 yy yz zu zv zw zy zz vuu vuv vuw otherwise
glueVBal2 yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch zy zz (glueVBal (Branch yy yz zu zv zwvuvvuw
glueVBal2 yy yz zu zv zw zy zz vuu vuv vuw False = glueVBal1 yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_r < size_l)
size_l  = sizeFM (Branch yy yz zu zv zw)
size_r  = sizeFM (Branch zy zz vuu vuv vuw)

glueVBal4 fm1 EmptyFM = fm1
glueVBal4 xvw xvx = glueVBal3 xvw xvx

glueVBal5 EmptyFM fm2 = fm2
glueVBal5 xvz xwu = glueVBal4 xvz xwu

The following Function with conditions
mkVBalBranch key elt EmptyFM fm_r = addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM = addToFM fm_l key elt
mkVBalBranch key elt (Branch vuy vuz vvu vvv vvw) (Branch vvy vvz vwu vwv vww)
 | sIZE_RATIO * size_l < size_r
 = mkBalBranch vvy vvz (mkVBalBranch key elt (Branch vuy vuz vvu vvv vvwvwvvww
 | sIZE_RATIO * size_r < size_l
 = mkBalBranch vuy vuz vvv (mkVBalBranch key elt vvw (Branch vvy vvz vwu vwv vww))
 | otherwise
 = mkBranch 13 key elt (Branch vuy vuz vvu vvv vvw) (Branch vvy vvz vwu vwv vww)
where 
size_l  = sizeFM (Branch vuy vuz vvu vvv vvw)
size_r  = sizeFM (Branch vvy vvz vwu vwv vww)

is transformed to
mkVBalBranch key elt EmptyFM fm_r = mkVBalBranch5 key elt EmptyFM fm_r
mkVBalBranch key elt fm_l EmptyFM = mkVBalBranch4 key elt fm_l EmptyFM
mkVBalBranch key elt (Branch vuy vuz vvu vvv vvw) (Branch vvy vvz vwu vwv vww) = mkVBalBranch3 key elt (Branch vuy vuz vvu vvv vvw) (Branch vvy vvz vwu vwv vww)

mkVBalBranch3 key elt (Branch vuy vuz vvu vvv vvw) (Branch vvy vvz vwu vwv vww) = 
mkVBalBranch2 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww (sIZE_RATIO * size_l < size_r)
where 
mkVBalBranch0 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww True = mkBranch 13 key elt (Branch vuy vuz vvu vvv vvw) (Branch vvy vvz vwu vwv vww)
mkVBalBranch1 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww True = mkBalBranch vuy vuz vvv (mkVBalBranch key elt vvw (Branch vvy vvz vwu vwv vww))
mkVBalBranch1 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww False = mkVBalBranch0 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww otherwise
mkVBalBranch2 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww True = mkBalBranch vvy vvz (mkVBalBranch key elt (Branch vuy vuz vvu vvv vvwvwvvww
mkVBalBranch2 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww False = mkVBalBranch1 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww (sIZE_RATIO * size_r < size_l)
size_l  = sizeFM (Branch vuy vuz vvu vvv vvw)
size_r  = sizeFM (Branch vvy vvz vwu vwv vww)

mkVBalBranch4 key elt fm_l EmptyFM = addToFM fm_l key elt
mkVBalBranch4 xwy xwz xxu xxv = mkVBalBranch3 xwy xwz xxu xxv

mkVBalBranch5 key elt EmptyFM fm_r = addToFM fm_r key elt
mkVBalBranch5 xxx xxy xxz xyu = mkVBalBranch4 xxx xxy xxz xyu

The following Function with conditions
mkBalBranch1 fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lr)
 | sizeFM fm_lr < 2 * sizeFM fm_ll
 = single_R fm_L fm_R
 | otherwise
 = double_R fm_L fm_R

is transformed to
mkBalBranch1 fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lr) = mkBalBranch12 fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lr)

mkBalBranch11 fm_L fm_R vxw vxx vxy fm_ll fm_lr True = single_R fm_L fm_R
mkBalBranch11 fm_L fm_R vxw vxx vxy fm_ll fm_lr False = mkBalBranch10 fm_L fm_R vxw vxx vxy fm_ll fm_lr otherwise

mkBalBranch10 fm_L fm_R vxw vxx vxy fm_ll fm_lr True = double_R fm_L fm_R

mkBalBranch12 fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lr) = mkBalBranch11 fm_L fm_R vxw vxx vxy fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)

The following Function with conditions
mkBalBranch0 fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rr)
 | sizeFM fm_rl < 2 * sizeFM fm_rr
 = single_L fm_L fm_R
 | otherwise
 = double_L fm_L fm_R

is transformed to
mkBalBranch0 fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rr) = mkBalBranch02 fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rr)

mkBalBranch01 fm_L fm_R vyv vyw vyx fm_rl fm_rr True = single_L fm_L fm_R
mkBalBranch01 fm_L fm_R vyv vyw vyx fm_rl fm_rr False = mkBalBranch00 fm_L fm_R vyv vyw vyx fm_rl fm_rr otherwise

mkBalBranch00 fm_L fm_R vyv vyw vyx fm_rl fm_rr True = double_L fm_L fm_R

mkBalBranch02 fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rr) = mkBalBranch01 fm_L fm_R vyv vyw vyx fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)

The following Function with conditions
mkBalBranch key elt fm_L fm_R
 | size_l + size_r < 2
 = mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l
 = mkBalBranch0 fm_L fm_R fm_R
 | size_l > sIZE_RATIO * size_r
 = mkBalBranch1 fm_L fm_R fm_L
 | otherwise
 = mkBranch 2 key elt fm_L fm_R
where 
double_L fm_l (Branch key_r elt_r vxz (Branch key_rl elt_rl vyu fm_rll fm_rlrfm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vxu fm_ll (Branch key_lr elt_lr vxv fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rr)
 | sizeFM fm_rl < 2 * sizeFM fm_rr
 = single_L fm_L fm_R
 | otherwise
 = double_L fm_L fm_R
mkBalBranch1 fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lr)
 | sizeFM fm_lr < 2 * sizeFM fm_ll
 = single_R fm_L fm_R
 | otherwise
 = double_R fm_L fm_R
single_L fm_l (Branch key_r elt_r vyy fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rlfm_rr
single_R (Branch key_l elt_l vwz fm_ll fm_lrfm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l  = sizeFM fm_L
size_r  = sizeFM fm_R

is transformed to
mkBalBranch key elt fm_L fm_R = mkBalBranch6 key elt fm_L fm_R

mkBalBranch6 key elt fm_L fm_R = 
mkBalBranch5 key elt fm_L fm_R (size_l + size_r < 2)
where 
double_L fm_l (Branch key_r elt_r vxz (Branch key_rl elt_rl vyu fm_rll fm_rlrfm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vxu fm_ll (Branch key_lr elt_lr vxv fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rr) = mkBalBranch02 fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rr)
mkBalBranch00 fm_L fm_R vyv vyw vyx fm_rl fm_rr True = double_L fm_L fm_R
mkBalBranch01 fm_L fm_R vyv vyw vyx fm_rl fm_rr True = single_L fm_L fm_R
mkBalBranch01 fm_L fm_R vyv vyw vyx fm_rl fm_rr False = mkBalBranch00 fm_L fm_R vyv vyw vyx fm_rl fm_rr otherwise
mkBalBranch02 fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rr) = mkBalBranch01 fm_L fm_R vyv vyw vyx fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)
mkBalBranch1 fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lr) = mkBalBranch12 fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lr)
mkBalBranch10 fm_L fm_R vxw vxx vxy fm_ll fm_lr True = double_R fm_L fm_R
mkBalBranch11 fm_L fm_R vxw vxx vxy fm_ll fm_lr True = single_R fm_L fm_R
mkBalBranch11 fm_L fm_R vxw vxx vxy fm_ll fm_lr False = mkBalBranch10 fm_L fm_R vxw vxx vxy fm_ll fm_lr otherwise
mkBalBranch12 fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lr) = mkBalBranch11 fm_L fm_R vxw vxx vxy fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)
mkBalBranch2 key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R
mkBalBranch3 key elt fm_L fm_R True = mkBalBranch1 fm_L fm_R fm_L
mkBalBranch3 key elt fm_L fm_R False = mkBalBranch2 key elt fm_L fm_R otherwise
mkBalBranch4 key elt fm_L fm_R True = mkBalBranch0 fm_L fm_R fm_R
mkBalBranch4 key elt fm_L fm_R False = mkBalBranch3 key elt fm_L fm_R (size_l > sIZE_RATIO * size_r)
mkBalBranch5 key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R
mkBalBranch5 key elt fm_L fm_R False = mkBalBranch4 key elt fm_L fm_R (size_r > sIZE_RATIO * size_l)
single_L fm_l (Branch key_r elt_r vyy fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rlfm_rr
single_R (Branch key_l elt_l vwz fm_ll fm_lrfm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l  = sizeFM fm_L
size_r  = sizeFM fm_R

The following Function with conditions
addToFM_C combiner EmptyFM key elt = unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt
 | new_key < key
 = mkBalBranch key elt (addToFM_C combiner fm_l new_key new_eltfm_r
 | new_key > key
 = mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise
 = Branch new_key (combiner elt new_eltsize fm_l fm_r

is transformed to
addToFM_C combiner EmptyFM key elt = addToFM_C4 combiner EmptyFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt = addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt

addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True = mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False = addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise

addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True = Branch new_key (combiner elt new_eltsize fm_l fm_r

addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True = mkBalBranch key elt (addToFM_C combiner fm_l new_key new_eltfm_r
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False = addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key)

addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt = addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key)

addToFM_C4 combiner EmptyFM key elt = unitFM key elt
addToFM_C4 xyz xzu xzv xzw = addToFM_C3 xyz xzu xzv xzw

The following Function with conditions
glueBal EmptyFM fm2 = fm2
glueBal fm1 EmptyFM = fm1
glueBal fm1 fm2
 | sizeFM fm2 > sizeFM fm1
 = mkBalBranch mid_key2 mid_elt2 fm1 (deleteMin fm2)
 | otherwise
 = mkBalBranch mid_key1 mid_elt1 (deleteMax fm1fm2
where 
mid_elt1  = mid_elt10 vv2
mid_elt10 (vzx,mid_elt1) = mid_elt1
mid_elt2  = mid_elt20 vv3
mid_elt20 (vzy,mid_elt2) = mid_elt2
mid_key1  = mid_key10 vv2
mid_key10 (mid_key1,vzz) = mid_key1
mid_key2  = mid_key20 vv3
mid_key20 (mid_key2,wuu) = mid_key2
vv2  = findMax fm1
vv3  = findMin fm2

is transformed to
glueBal EmptyFM fm2 = glueBal4 EmptyFM fm2
glueBal fm1 EmptyFM = glueBal3 fm1 EmptyFM
glueBal fm1 fm2 = glueBal2 fm1 fm2

glueBal2 fm1 fm2 = 
glueBal1 fm1 fm2 (sizeFM fm2 > sizeFM fm1)
where 
glueBal0 fm1 fm2 True = mkBalBranch mid_key1 mid_elt1 (deleteMax fm1fm2
glueBal1 fm1 fm2 True = mkBalBranch mid_key2 mid_elt2 fm1 (deleteMin fm2)
glueBal1 fm1 fm2 False = glueBal0 fm1 fm2 otherwise
mid_elt1  = mid_elt10 vv2
mid_elt10 (vzx,mid_elt1) = mid_elt1
mid_elt2  = mid_elt20 vv3
mid_elt20 (vzy,mid_elt2) = mid_elt2
mid_key1  = mid_key10 vv2
mid_key10 (mid_key1,vzz) = mid_key1
mid_key2  = mid_key20 vv3
mid_key20 (mid_key2,wuu) = mid_key2
vv2  = findMax fm1
vv3  = findMin fm2

glueBal3 fm1 EmptyFM = fm1
glueBal3 xzy xzz = glueBal2 xzy xzz

glueBal4 EmptyFM fm2 = fm2
glueBal4 yuv yuw = glueBal3 yuv yuw

The following Function with conditions
lookupFM EmptyFM key = Nothing
lookupFM (Branch key elt wuv fm_l fm_rkey_to_find
 | key_to_find < key
 = lookupFM fm_l key_to_find
 | key_to_find > key
 = lookupFM fm_r key_to_find
 | otherwise
 = Just elt

is transformed to
lookupFM EmptyFM key = lookupFM4 EmptyFM key
lookupFM (Branch key elt wuv fm_l fm_rkey_to_find = lookupFM3 (Branch key elt wuv fm_l fm_rkey_to_find

lookupFM2 key elt wuv fm_l fm_r key_to_find True = lookupFM fm_l key_to_find
lookupFM2 key elt wuv fm_l fm_r key_to_find False = lookupFM1 key elt wuv fm_l fm_r key_to_find (key_to_find > key)

lookupFM0 key elt wuv fm_l fm_r key_to_find True = Just elt

lookupFM1 key elt wuv fm_l fm_r key_to_find True = lookupFM fm_r key_to_find
lookupFM1 key elt wuv fm_l fm_r key_to_find False = lookupFM0 key elt wuv fm_l fm_r key_to_find otherwise

lookupFM3 (Branch key elt wuv fm_l fm_rkey_to_find = lookupFM2 key elt wuv fm_l fm_r key_to_find (key_to_find < key)

lookupFM4 EmptyFM key = Nothing
lookupFM4 yuz yvu = lookupFM3 yuz yvu

The following Function with conditions
intersectFM_C combiner fm1 EmptyFM = emptyFM
intersectFM_C combiner EmptyFM fm2 = emptyFM
intersectFM_C combiner fm1 (Branch split_key elt2 wuy left right)
 | Maybe.isJust maybe_elt1
 = mkVBalBranch split_key (combiner elt1 elt2) (intersectFM_C combiner lts left) (intersectFM_C combiner gts right)
 | otherwise
 = glueVBal (intersectFM_C combiner lts left) (intersectFM_C combiner gts right)
where 
elt1  = elt10 vv1
elt10 (Just elt1) = elt1
gts  = splitGT fm1 split_key
lts  = splitLT fm1 split_key
maybe_elt1  = lookupFM fm1 split_key
vv1  = maybe_elt1

is transformed to
intersectFM_C combiner fm1 EmptyFM = intersectFM_C4 combiner fm1 EmptyFM
intersectFM_C combiner EmptyFM fm2 = intersectFM_C3 combiner EmptyFM fm2
intersectFM_C combiner fm1 (Branch split_key elt2 wuy left right) = intersectFM_C2 combiner fm1 (Branch split_key elt2 wuy left right)

intersectFM_C2 combiner fm1 (Branch split_key elt2 wuy left right) = 
intersectFM_C1 combiner fm1 split_key elt2 wuy left right (Maybe.isJust maybe_elt1)
where 
elt1  = elt10 vv1
elt10 (Just elt1) = elt1
gts  = splitGT fm1 split_key
intersectFM_C0 combiner fm1 split_key elt2 wuy left right True = glueVBal (intersectFM_C combiner lts left) (intersectFM_C combiner gts right)
intersectFM_C1 combiner fm1 split_key elt2 wuy left right True = mkVBalBranch split_key (combiner elt1 elt2) (intersectFM_C combiner lts left) (intersectFM_C combiner gts right)
intersectFM_C1 combiner fm1 split_key elt2 wuy left right False = intersectFM_C0 combiner fm1 split_key elt2 wuy left right otherwise
lts  = splitLT fm1 split_key
maybe_elt1  = lookupFM fm1 split_key
vv1  = maybe_elt1

intersectFM_C3 combiner EmptyFM fm2 = emptyFM
intersectFM_C3 yvx yvy yvz = intersectFM_C2 yvx yvy yvz

intersectFM_C4 combiner fm1 EmptyFM = emptyFM
intersectFM_C4 ywv yww ywx = intersectFM_C3 ywv yww ywx

The following Function with conditions
compare x y
 | x == y
 = EQ
 | x <= y
 = LT
 | otherwise
 = GT

is transformed to
compare x y = compare3 x y

compare1 x y True = LT
compare1 x y False = compare0 x y otherwise

compare2 x y True = EQ
compare2 x y False = compare1 x y (x <= y)

compare0 x y True = GT

compare3 x y = compare2 x y (x == y)

The following Function with conditions
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd' x ywy = gcd'2 x ywy
gcd' x y = gcd'0 x y

gcd'0 x y = gcd' y (x `rem` y)

gcd'1 True x ywy = x
gcd'1 ywz yxu yxv = gcd'0 yxu yxv

gcd'2 x ywy = gcd'1 (ywy == 0) x ywy
gcd'2 yxw yxx = gcd'0 yxw yxx

The following Function with conditions
gcd 0 0 = error []
gcd x y = 
gcd' (abs x) (abs y)
where 
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd yxy yxz = gcd3 yxy yxz
gcd x y = gcd0 x y

gcd0 x y = 
gcd' (abs x) (abs y)
where 
gcd' x ywy = gcd'2 x ywy
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x ywy = x
gcd'1 ywz yxu yxv = gcd'0 yxu yxv
gcd'2 x ywy = gcd'1 (ywy == 0) x ywy
gcd'2 yxw yxx = gcd'0 yxw yxx

gcd1 True yxy yxz = error []
gcd1 yyu yyv yyw = gcd0 yyv yyw

gcd2 True yxy yxz = gcd1 (yxz == 0) yxy yxz
gcd2 yyx yyy yyz = gcd0 yyy yyz

gcd3 yxy yxz = gcd2 (yxy == 0) yxy yxz
gcd3 yzu yzv = gcd0 yzu yzv

The following Function with conditions
absReal x
 | x >= 0
 = x
 | otherwise
 = `negate` x

is transformed to
absReal x = absReal2 x

absReal0 x True = `negate` x

absReal1 x True = x
absReal1 x False = absReal0 x otherwise

absReal2 x = absReal1 x (x >= 0)

The following Function with conditions
undefined 
 | False
 = undefined

is transformed to
undefined  = undefined1

undefined0 True = undefined

undefined1  = undefined0 False

The following Function with conditions
reduce x y
 | y == 0
 = error []
 | otherwise
 = x `quot` d :% (y `quot` d)
where 
d  = gcd x y

is transformed to
reduce x y = reduce2 x y

reduce2 x y = 
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
HASKELL
                      ↳ LetRed

mainModule FiniteMap
  ((intersectFM_C :: Ord a => (c  ->  b  ->  d ->  FiniteMap a c  ->  FiniteMap a b  ->  FiniteMap a d) :: Ord a => (c  ->  b  ->  d ->  FiniteMap a c  ->  FiniteMap a b  ->  FiniteMap a d)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord a => FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM_C combiner EmptyFM key elt addToFM_C4 combiner EmptyFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt

  
addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True Branch new_key (combiner elt new_elt) size fm_l fm_r

  
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise

  
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key)

  
addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key)

  
addToFM_C4 combiner EmptyFM key elt unitFM key elt
addToFM_C4 xyz xzu xzv xzw addToFM_C3 xyz xzu xzv xzw

  deleteMax :: Ord a => FiniteMap a b  ->  FiniteMap a b
deleteMax (Branch key elt vwx fm_l EmptyFMfm_l
deleteMax (Branch key elt vwy fm_l fm_rmkBalBranch key elt fm_l (deleteMax fm_r)

  deleteMin :: Ord a => FiniteMap a b  ->  FiniteMap a b
deleteMin (Branch key elt wuw EmptyFM fm_rfm_r
deleteMin (Branch key elt wux fm_l fm_rmkBalBranch key elt (deleteMin fm_l) fm_r

  emptyFM :: FiniteMap b a
emptyFM EmptyFM

  findMax :: FiniteMap a b  ->  (a,b)
findMax (Branch key elt vyz vzu EmptyFM(key,elt)
findMax (Branch key elt vzv vzw fm_rfindMax fm_r

  findMin :: FiniteMap b a  ->  (b,a)
findMin (Branch key elt wz EmptyFM xu(key,elt)
findMin (Branch key elt xv fm_l xwfindMin fm_l

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (b  ->  c  ->  a  ->  a ->  a  ->  FiniteMap b c  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt wy fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  glueBal :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
glueBal EmptyFM fm2 glueBal4 EmptyFM fm2
glueBal fm1 EmptyFM glueBal3 fm1 EmptyFM
glueBal fm1 fm2 glueBal2 fm1 fm2

  
glueBal2 fm1 fm2 
glueBal1 fm1 fm2 (sizeFM fm2 > sizeFM fm1) where 
glueBal0 fm1 fm2 True mkBalBranch mid_key1 mid_elt1 (deleteMax fm1) fm2
glueBal1 fm1 fm2 True mkBalBranch mid_key2 mid_elt2 fm1 (deleteMin fm2)
glueBal1 fm1 fm2 False glueBal0 fm1 fm2 otherwise
mid_elt1 mid_elt10 vv2
mid_elt10 (vzx,mid_elt1mid_elt1
mid_elt2 mid_elt20 vv3
mid_elt20 (vzy,mid_elt2mid_elt2
mid_key1 mid_key10 vv2
mid_key10 (mid_key1,vzzmid_key1
mid_key2 mid_key20 vv3
mid_key20 (mid_key2,wuumid_key2
vv2 findMax fm1
vv3 findMin fm2

  
glueBal3 fm1 EmptyFM fm1
glueBal3 xzy xzz glueBal2 xzy xzz

  
glueBal4 EmptyFM fm2 fm2
glueBal4 yuv yuw glueBal3 yuv yuw

  glueVBal :: Ord a => FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
glueVBal EmptyFM fm2 glueVBal5 EmptyFM fm2
glueVBal fm1 EmptyFM glueVBal4 fm1 EmptyFM
glueVBal (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuwglueVBal3 (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

  
glueVBal3 (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw
glueVBal2 yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_l < size_r) where 
glueVBal0 yy yz zu zv zw zy zz vuu vuv vuw True glueBal (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
glueVBal1 yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch yy yz zv (glueVBal zw (Branch zy zz vuu vuv vuw))
glueVBal1 yy yz zu zv zw zy zz vuu vuv vuw False glueVBal0 yy yz zu zv zw zy zz vuu vuv vuw otherwise
glueVBal2 yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch zy zz (glueVBal (Branch yy yz zu zv zw) vuv) vuw
glueVBal2 yy yz zu zv zw zy zz vuu vuv vuw False glueVBal1 yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_r < size_l)
size_l sizeFM (Branch yy yz zu zv zw)
size_r sizeFM (Branch zy zz vuu vuv vuw)

  
glueVBal4 fm1 EmptyFM fm1
glueVBal4 xvw xvx glueVBal3 xvw xvx

  
glueVBal5 EmptyFM fm2 fm2
glueVBal5 xvz xwu glueVBal4 xvz xwu

  intersectFM_C :: Ord a => (b  ->  c  ->  d ->  FiniteMap a b  ->  FiniteMap a c  ->  FiniteMap a d
intersectFM_C combiner fm1 EmptyFM intersectFM_C4 combiner fm1 EmptyFM
intersectFM_C combiner EmptyFM fm2 intersectFM_C3 combiner EmptyFM fm2
intersectFM_C combiner fm1 (Branch split_key elt2 wuy left rightintersectFM_C2 combiner fm1 (Branch split_key elt2 wuy left right)

  
intersectFM_C2 combiner fm1 (Branch split_key elt2 wuy left right
intersectFM_C1 combiner fm1 split_key elt2 wuy left right (Maybe.isJust maybe_elt1) where 
elt1 elt10 vv1
elt10 (Just elt1elt1
gts splitGT fm1 split_key
intersectFM_C0 combiner fm1 split_key elt2 wuy left right True glueVBal (intersectFM_C combiner lts left) (intersectFM_C combiner gts right)
intersectFM_C1 combiner fm1 split_key elt2 wuy left right True mkVBalBranch split_key (combiner elt1 elt2) (intersectFM_C combiner lts left) (intersectFM_C combiner gts right)
intersectFM_C1 combiner fm1 split_key elt2 wuy left right False intersectFM_C0 combiner fm1 split_key elt2 wuy left right otherwise
lts splitLT fm1 split_key
maybe_elt1 lookupFM fm1 split_key
vv1 maybe_elt1

  
intersectFM_C3 combiner EmptyFM fm2 emptyFM
intersectFM_C3 yvx yvy yvz intersectFM_C2 yvx yvy yvz

  
intersectFM_C4 combiner fm1 EmptyFM emptyFM
intersectFM_C4 ywv yww ywx intersectFM_C3 ywv yww ywx

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt wuv fm_l fm_rkey_to_find lookupFM3 (Branch key elt wuv fm_l fm_r) key_to_find

  
lookupFM0 key elt wuv fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt wuv fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt wuv fm_l fm_r key_to_find False lookupFM0 key elt wuv fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt wuv fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt wuv fm_l fm_r key_to_find False lookupFM1 key elt wuv fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt wuv fm_l fm_rkey_to_find lookupFM2 key elt wuv fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 yuz yvu lookupFM3 yuz yvu

  mkBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBalBranch key elt fm_L fm_R mkBalBranch6 key elt fm_L fm_R

  
mkBalBranch6 key elt fm_L fm_R 
mkBalBranch5 key elt fm_L fm_R (size_l + size_r < 2) where 
double_L fm_l (Branch key_r elt_r vxz (Branch key_rl elt_rl vyu fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vxu fm_ll (Branch key_lr elt_lr vxv fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rrmkBalBranch02 fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rr)
mkBalBranch00 fm_L fm_R vyv vyw vyx fm_rl fm_rr True double_L fm_L fm_R
mkBalBranch01 fm_L fm_R vyv vyw vyx fm_rl fm_rr True single_L fm_L fm_R
mkBalBranch01 fm_L fm_R vyv vyw vyx fm_rl fm_rr False mkBalBranch00 fm_L fm_R vyv vyw vyx fm_rl fm_rr otherwise
mkBalBranch02 fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rrmkBalBranch01 fm_L fm_R vyv vyw vyx fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)
mkBalBranch1 fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lrmkBalBranch12 fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lr)
mkBalBranch10 fm_L fm_R vxw vxx vxy fm_ll fm_lr True double_R fm_L fm_R
mkBalBranch11 fm_L fm_R vxw vxx vxy fm_ll fm_lr True single_R fm_L fm_R
mkBalBranch11 fm_L fm_R vxw vxx vxy fm_ll fm_lr False mkBalBranch10 fm_L fm_R vxw vxx vxy fm_ll fm_lr otherwise
mkBalBranch12 fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lrmkBalBranch11 fm_L fm_R vxw vxx vxy fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)
mkBalBranch2 key elt fm_L fm_R True mkBranch 2 key elt fm_L fm_R
mkBalBranch3 key elt fm_L fm_R True mkBalBranch1 fm_L fm_R fm_L
mkBalBranch3 key elt fm_L fm_R False mkBalBranch2 key elt fm_L fm_R otherwise
mkBalBranch4 key elt fm_L fm_R True mkBalBranch0 fm_L fm_R fm_R
mkBalBranch4 key elt fm_L fm_R False mkBalBranch3 key elt fm_L fm_R (size_l > sIZE_RATIO * size_r)
mkBalBranch5 key elt fm_L fm_R True mkBranch 1 key elt fm_L fm_R
mkBalBranch5 key elt fm_L fm_R False mkBalBranch4 key elt fm_L fm_R (size_r > sIZE_RATIO * size_l)
single_L fm_l (Branch key_r elt_r vyy fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l vwz fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord b => Int  ->  b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM True
left_ok0 fm_l key (Branch left_key vw vx vy vz
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM True
right_ok0 fm_r key (Branch right_key wu wv ww wx
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r mkVBalBranch5 key elt EmptyFM fm_r
mkVBalBranch key elt fm_l EmptyFM mkVBalBranch4 key elt fm_l EmptyFM
mkVBalBranch key elt (Branch vuy vuz vvu vvv vvw) (Branch vvy vvz vwu vwv vwwmkVBalBranch3 key elt (Branch vuy vuz vvu vvv vvw) (Branch vvy vvz vwu vwv vww)

  
mkVBalBranch3 key elt (Branch vuy vuz vvu vvv vvw) (Branch vvy vvz vwu vwv vww
mkVBalBranch2 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww (sIZE_RATIO * size_l < size_r) where 
mkVBalBranch0 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww True mkBranch 13 key elt (Branch vuy vuz vvu vvv vvw) (Branch vvy vvz vwu vwv vww)
mkVBalBranch1 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww True mkBalBranch vuy vuz vvv (mkVBalBranch key elt vvw (Branch vvy vvz vwu vwv vww))
mkVBalBranch1 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww False mkVBalBranch0 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww otherwise
mkVBalBranch2 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww True mkBalBranch vvy vvz (mkVBalBranch key elt (Branch vuy vuz vvu vvv vvw) vwv) vww
mkVBalBranch2 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww False mkVBalBranch1 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww (sIZE_RATIO * size_r < size_l)
size_l sizeFM (Branch vuy vuz vvu vvv vvw)
size_r sizeFM (Branch vvy vvz vwu vwv vww)

  
mkVBalBranch4 key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch4 xwy xwz xxu xxv mkVBalBranch3 xwy xwz xxu xxv

  
mkVBalBranch5 key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch5 xxx xxy xxz xyu mkVBalBranch4 xxx xxy xxz xyu

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch xz yu size yv ywsize

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key splitGT4 EmptyFM split_key
splitGT (Branch key elt xy fm_l fm_rsplit_key splitGT3 (Branch key elt xy fm_l fm_r) split_key

  
splitGT0 key elt xy fm_l fm_r split_key True fm_r

  
splitGT1 key elt xy fm_l fm_r split_key True mkVBalBranch key elt (splitGT fm_l split_key) fm_r
splitGT1 key elt xy fm_l fm_r split_key False splitGT0 key elt xy fm_l fm_r split_key otherwise

  
splitGT2 key elt xy fm_l fm_r split_key True splitGT fm_r split_key
splitGT2 key elt xy fm_l fm_r split_key False splitGT1 key elt xy fm_l fm_r split_key (split_key < key)

  
splitGT3 (Branch key elt xy fm_l fm_rsplit_key splitGT2 key elt xy fm_l fm_r split_key (split_key > key)

  
splitGT4 EmptyFM split_key emptyFM
splitGT4 xux xuy splitGT3 xux xuy

  splitLT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitLT EmptyFM split_key splitLT4 EmptyFM split_key
splitLT (Branch key elt xx fm_l fm_rsplit_key splitLT3 (Branch key elt xx fm_l fm_r) split_key

  
splitLT0 key elt xx fm_l fm_r split_key True fm_l

  
splitLT1 key elt xx fm_l fm_r split_key True mkVBalBranch key elt fm_l (splitLT fm_r split_key)
splitLT1 key elt xx fm_l fm_r split_key False splitLT0 key elt xx fm_l fm_r split_key otherwise

  
splitLT2 key elt xx fm_l fm_r split_key True splitLT fm_l split_key
splitLT2 key elt xx fm_l fm_r split_key False splitLT1 key elt xx fm_l fm_r split_key (split_key > key)

  
splitLT3 (Branch key elt xx fm_l fm_rsplit_key splitLT2 key elt xx fm_l fm_r split_key (split_key < key)

  
splitLT4 EmptyFM split_key emptyFM
splitLT4 wzz xuu splitLT3 wzz xuu

  unitFM :: b  ->  a  ->  FiniteMap b a
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude

  isJust :: Maybe a  ->  Bool
isJust Nothing False
isJust wuz True



Let/Where Reductions:
The bindings of the following Let/Where expression
intersectFM_C1 combiner fm1 split_key elt2 wuy left right (Maybe.isJust maybe_elt1)
where 
elt1  = elt10 vv1
elt10 (Just elt1) = elt1
gts  = splitGT fm1 split_key
intersectFM_C0 combiner fm1 split_key elt2 wuy left right True = glueVBal (intersectFM_C combiner lts left) (intersectFM_C combiner gts right)
intersectFM_C1 combiner fm1 split_key elt2 wuy left right True = mkVBalBranch split_key (combiner elt1 elt2) (intersectFM_C combiner lts left) (intersectFM_C combiner gts right)
intersectFM_C1 combiner fm1 split_key elt2 wuy left right False = intersectFM_C0 combiner fm1 split_key elt2 wuy left right otherwise
lts  = splitLT fm1 split_key
maybe_elt1  = lookupFM fm1 split_key
vv1  = maybe_elt1

are unpacked to the following functions on top level
intersectFM_C2Lts yzw yzx = splitLT yzw yzx

intersectFM_C2Vv1 yzw yzx = intersectFM_C2Maybe_elt1 yzw yzx

intersectFM_C2Gts yzw yzx = splitGT yzw yzx

intersectFM_C2Elt1 yzw yzx = intersectFM_C2Elt10 yzw yzx (intersectFM_C2Vv1 yzw yzx)

intersectFM_C2IntersectFM_C1 yzw yzx combiner fm1 split_key elt2 wuy left right True = mkVBalBranch split_key (combiner (intersectFM_C2Elt1 yzw yzxelt2) (intersectFM_C combiner (intersectFM_C2Lts yzw yzxleft) (intersectFM_C combiner (intersectFM_C2Gts yzw yzxright)
intersectFM_C2IntersectFM_C1 yzw yzx combiner fm1 split_key elt2 wuy left right False = intersectFM_C2IntersectFM_C0 yzw yzx combiner fm1 split_key elt2 wuy left right otherwise

intersectFM_C2Maybe_elt1 yzw yzx = lookupFM yzw yzx

intersectFM_C2IntersectFM_C0 yzw yzx combiner fm1 split_key elt2 wuy left right True = glueVBal (intersectFM_C combiner (intersectFM_C2Lts yzw yzxleft) (intersectFM_C combiner (intersectFM_C2Gts yzw yzxright)

intersectFM_C2Elt10 yzw yzx (Just elt1) = elt1

The bindings of the following Let/Where expression
glueBal1 fm1 fm2 (sizeFM fm2 > sizeFM fm1)
where 
glueBal0 fm1 fm2 True = mkBalBranch mid_key1 mid_elt1 (deleteMax fm1fm2
glueBal1 fm1 fm2 True = mkBalBranch mid_key2 mid_elt2 fm1 (deleteMin fm2)
glueBal1 fm1 fm2 False = glueBal0 fm1 fm2 otherwise
mid_elt1  = mid_elt10 vv2
mid_elt10 (vzx,mid_elt1) = mid_elt1
mid_elt2  = mid_elt20 vv3
mid_elt20 (vzy,mid_elt2) = mid_elt2
mid_key1  = mid_key10 vv2
mid_key10 (mid_key1,vzz) = mid_key1
mid_key2  = mid_key20 vv3
mid_key20 (mid_key2,wuu) = mid_key2
vv2  = findMax fm1
vv3  = findMin fm2

are unpacked to the following functions on top level
glueBal2Mid_elt1 yzy yzz = glueBal2Mid_elt10 yzy yzz (glueBal2Vv2 yzy yzz)

glueBal2GlueBal1 yzy yzz fm1 fm2 True = mkBalBranch (glueBal2Mid_key2 yzy yzz) (glueBal2Mid_elt2 yzy yzzfm1 (deleteMin fm2)
glueBal2GlueBal1 yzy yzz fm1 fm2 False = glueBal2GlueBal0 yzy yzz fm1 fm2 otherwise

glueBal2Vv3 yzy yzz = findMin yzy

glueBal2Mid_elt10 yzy yzz (vzx,mid_elt1) = mid_elt1

glueBal2Mid_key20 yzy yzz (mid_key2,wuu) = mid_key2

glueBal2Mid_elt2 yzy yzz = glueBal2Mid_elt20 yzy yzz (glueBal2Vv3 yzy yzz)

glueBal2Mid_key2 yzy yzz = glueBal2Mid_key20 yzy yzz (glueBal2Vv3 yzy yzz)

glueBal2Mid_elt20 yzy yzz (vzy,mid_elt2) = mid_elt2

glueBal2GlueBal0 yzy yzz fm1 fm2 True = mkBalBranch (glueBal2Mid_key1 yzy yzz) (glueBal2Mid_elt1 yzy yzz) (deleteMax fm1fm2

glueBal2Mid_key1 yzy yzz = glueBal2Mid_key10 yzy yzz (glueBal2Vv2 yzy yzz)

glueBal2Mid_key10 yzy yzz (mid_key1,vzz) = mid_key1

glueBal2Vv2 yzy yzz = findMax yzz

The bindings of the following Let/Where expression
mkBalBranch5 key elt fm_L fm_R (size_l + size_r < 2)
where 
double_L fm_l (Branch key_r elt_r vxz (Branch key_rl elt_rl vyu fm_rll fm_rlrfm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vxu fm_ll (Branch key_lr elt_lr vxv fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rr) = mkBalBranch02 fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rr)
mkBalBranch00 fm_L fm_R vyv vyw vyx fm_rl fm_rr True = double_L fm_L fm_R
mkBalBranch01 fm_L fm_R vyv vyw vyx fm_rl fm_rr True = single_L fm_L fm_R
mkBalBranch01 fm_L fm_R vyv vyw vyx fm_rl fm_rr False = mkBalBranch00 fm_L fm_R vyv vyw vyx fm_rl fm_rr otherwise
mkBalBranch02 fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rr) = mkBalBranch01 fm_L fm_R vyv vyw vyx fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)
mkBalBranch1 fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lr) = mkBalBranch12 fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lr)
mkBalBranch10 fm_L fm_R vxw vxx vxy fm_ll fm_lr True = double_R fm_L fm_R
mkBalBranch11 fm_L fm_R vxw vxx vxy fm_ll fm_lr True = single_R fm_L fm_R
mkBalBranch11 fm_L fm_R vxw vxx vxy fm_ll fm_lr False = mkBalBranch10 fm_L fm_R vxw vxx vxy fm_ll fm_lr otherwise
mkBalBranch12 fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lr) = mkBalBranch11 fm_L fm_R vxw vxx vxy fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)
mkBalBranch2 key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R
mkBalBranch3 key elt fm_L fm_R True = mkBalBranch1 fm_L fm_R fm_L
mkBalBranch3 key elt fm_L fm_R False = mkBalBranch2 key elt fm_L fm_R otherwise
mkBalBranch4 key elt fm_L fm_R True = mkBalBranch0 fm_L fm_R fm_R
mkBalBranch4 key elt fm_L fm_R False = mkBalBranch3 key elt fm_L fm_R (size_l > sIZE_RATIO * size_r)
mkBalBranch5 key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R
mkBalBranch5 key elt fm_L fm_R False = mkBalBranch4 key elt fm_L fm_R (size_r > sIZE_RATIO * size_l)
single_L fm_l (Branch key_r elt_r vyy fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rlfm_rr
single_R (Branch key_l elt_l vwz fm_ll fm_lrfm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l  = sizeFM fm_L
size_r  = sizeFM fm_R

are unpacked to the following functions on top level
mkBalBranch6MkBalBranch3 zuu zuv zuw zux key elt fm_L fm_R True = mkBalBranch6MkBalBranch1 zuu zuv zuw zux fm_L fm_R fm_L
mkBalBranch6MkBalBranch3 zuu zuv zuw zux key elt fm_L fm_R False = mkBalBranch6MkBalBranch2 zuu zuv zuw zux key elt fm_L fm_R otherwise

mkBalBranch6MkBalBranch02 zuu zuv zuw zux fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rr) = mkBalBranch6MkBalBranch01 zuu zuv zuw zux fm_L fm_R vyv vyw vyx fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)

mkBalBranch6MkBalBranch1 zuu zuv zuw zux fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lr) = mkBalBranch6MkBalBranch12 zuu zuv zuw zux fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lr)

mkBalBranch6Single_L zuu zuv zuw zux fm_l (Branch key_r elt_r vyy fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 zuu zuv fm_l fm_rlfm_rr

mkBalBranch6Size_l zuu zuv zuw zux = sizeFM zuw

mkBalBranch6MkBalBranch01 zuu zuv zuw zux fm_L fm_R vyv vyw vyx fm_rl fm_rr True = mkBalBranch6Single_L zuu zuv zuw zux fm_L fm_R
mkBalBranch6MkBalBranch01 zuu zuv zuw zux fm_L fm_R vyv vyw vyx fm_rl fm_rr False = mkBalBranch6MkBalBranch00 zuu zuv zuw zux fm_L fm_R vyv vyw vyx fm_rl fm_rr otherwise

mkBalBranch6MkBalBranch00 zuu zuv zuw zux fm_L fm_R vyv vyw vyx fm_rl fm_rr True = mkBalBranch6Double_L zuu zuv zuw zux fm_L fm_R

mkBalBranch6Single_R zuu zuv zuw zux (Branch key_l elt_l vwz fm_ll fm_lrfm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 zuu zuv fm_lr fm_r)

mkBalBranch6Size_r zuu zuv zuw zux = sizeFM zux

mkBalBranch6MkBalBranch4 zuu zuv zuw zux key elt fm_L fm_R True = mkBalBranch6MkBalBranch0 zuu zuv zuw zux fm_L fm_R fm_R
mkBalBranch6MkBalBranch4 zuu zuv zuw zux key elt fm_L fm_R False = mkBalBranch6MkBalBranch3 zuu zuv zuw zux key elt fm_L fm_R (mkBalBranch6Size_l zuu zuv zuw zux > sIZE_RATIO * mkBalBranch6Size_r zuu zuv zuw zux)

mkBalBranch6MkBalBranch10 zuu zuv zuw zux fm_L fm_R vxw vxx vxy fm_ll fm_lr True = mkBalBranch6Double_R zuu zuv zuw zux fm_L fm_R

mkBalBranch6MkBalBranch11 zuu zuv zuw zux fm_L fm_R vxw vxx vxy fm_ll fm_lr True = mkBalBranch6Single_R zuu zuv zuw zux fm_L fm_R
mkBalBranch6MkBalBranch11 zuu zuv zuw zux fm_L fm_R vxw vxx vxy fm_ll fm_lr False = mkBalBranch6MkBalBranch10 zuu zuv zuw zux fm_L fm_R vxw vxx vxy fm_ll fm_lr otherwise

mkBalBranch6MkBalBranch5 zuu zuv zuw zux key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R
mkBalBranch6MkBalBranch5 zuu zuv zuw zux key elt fm_L fm_R False = mkBalBranch6MkBalBranch4 zuu zuv zuw zux key elt fm_L fm_R (mkBalBranch6Size_r zuu zuv zuw zux > sIZE_RATIO * mkBalBranch6Size_l zuu zuv zuw zux)

mkBalBranch6MkBalBranch12 zuu zuv zuw zux fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lr) = mkBalBranch6MkBalBranch11 zuu zuv zuw zux fm_L fm_R vxw vxx vxy fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)

mkBalBranch6Double_L zuu zuv zuw zux fm_l (Branch key_r elt_r vxz (Branch key_rl elt_rl vyu fm_rll fm_rlrfm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 zuu zuv fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)

mkBalBranch6Double_R zuu zuv zuw zux (Branch key_l elt_l vxu fm_ll (Branch key_lr elt_lr vxv fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 zuu zuv fm_lrr fm_r)

mkBalBranch6MkBalBranch0 zuu zuv zuw zux fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rr) = mkBalBranch6MkBalBranch02 zuu zuv zuw zux fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rr)

mkBalBranch6MkBalBranch2 zuu zuv zuw zux key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R

The bindings of the following Let/Where expression
glueVBal2 yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_l < size_r)
where 
glueVBal0 yy yz zu zv zw zy zz vuu vuv vuw True = glueBal (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
glueVBal1 yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch yy yz zv (glueVBal zw (Branch zy zz vuu vuv vuw))
glueVBal1 yy yz zu zv zw zy zz vuu vuv vuw False = glueVBal0 yy yz zu zv zw zy zz vuu vuv vuw otherwise
glueVBal2 yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch zy zz (glueVBal (Branch yy yz zu zv zwvuvvuw
glueVBal2 yy yz zu zv zw zy zz vuu vuv vuw False = glueVBal1 yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_r < size_l)
size_l  = sizeFM (Branch yy yz zu zv zw)
size_r  = sizeFM (Branch zy zz vuu vuv vuw)

are unpacked to the following functions on top level
glueVBal3GlueVBal2 zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch zy zz (glueVBal (Branch yy yz zu zv zwvuvvuw
glueVBal3GlueVBal2 zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv yy yz zu zv zw zy zz vuu vuv vuw False = glueVBal3GlueVBal1 zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * glueVBal3Size_r zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv < glueVBal3Size_l zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv)

glueVBal3Size_l zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv = sizeFM (Branch zuy zuz zvu zvv zvw)

glueVBal3GlueVBal1 zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch yy yz zv (glueVBal zw (Branch zy zz vuu vuv vuw))
glueVBal3GlueVBal1 zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv yy yz zu zv zw zy zz vuu vuv vuw False = glueVBal3GlueVBal0 zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv yy yz zu zv zw zy zz vuu vuv vuw otherwise

glueVBal3Size_r zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv = sizeFM (Branch zvx zvy zvz zwu zwv)

glueVBal3GlueVBal0 zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv yy yz zu zv zw zy zz vuu vuv vuw True = glueBal (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

The bindings of the following Let/Where expression
let 
result  = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
where 
balance_ok  = True
left_ok  = left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM = True
left_ok0 fm_l key (Branch left_key vw vx vy vz) = 
let 
biggest_left_key  = fst (findMax fm_l)
in biggest_left_key < key
left_size  = sizeFM fm_l
right_ok  = right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM = True
right_ok0 fm_r key (Branch right_key wu wv ww wx) = 
let 
smallest_right_key  = fst (findMin fm_r)
in key < smallest_right_key
right_size  = sizeFM fm_r
unbox x = x

are unpacked to the following functions on top level
mkBranchLeft_ok0 zww zwx zwy fm_l key EmptyFM = True
mkBranchLeft_ok0 zww zwx zwy fm_l key (Branch left_key vw vx vy vz) = mkBranchLeft_ok0Biggest_left_key fm_l < key

mkBranchUnbox zww zwx zwy x = x

mkBranchRight_ok0 zww zwx zwy fm_r key EmptyFM = True
mkBranchRight_ok0 zww zwx zwy fm_r key (Branch right_key wu wv ww wx) = key < mkBranchRight_ok0Smallest_right_key fm_r

mkBranchBalance_ok zww zwx zwy = True

mkBranchRight_size zww zwx zwy = sizeFM zww

mkBranchRight_ok zww zwx zwy = mkBranchRight_ok0 zww zwx zwy zww zwx zww

mkBranchLeft_size zww zwx zwy = sizeFM zwy

mkBranchLeft_ok zww zwx zwy = mkBranchLeft_ok0 zww zwx zwy zwy zwx zwy

The bindings of the following Let/Where expression
let 
result  = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result

are unpacked to the following functions on top level
mkBranchResult zwz zxu zxv zxw = Branch zwz zxu (mkBranchUnbox zxv zwz zxw (1 + mkBranchLeft_size zxv zwz zxw + mkBranchRight_size zxv zwz zxw)) zxw zxv

The bindings of the following Let/Where expression
mkVBalBranch2 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww (sIZE_RATIO * size_l < size_r)
where 
mkVBalBranch0 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww True = mkBranch 13 key elt (Branch vuy vuz vvu vvv vvw) (Branch vvy vvz vwu vwv vww)
mkVBalBranch1 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww True = mkBalBranch vuy vuz vvv (mkVBalBranch key elt vvw (Branch vvy vvz vwu vwv vww))
mkVBalBranch1 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww False = mkVBalBranch0 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww otherwise
mkVBalBranch2 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww True = mkBalBranch vvy vvz (mkVBalBranch key elt (Branch vuy vuz vvu vvv vvwvwvvww
mkVBalBranch2 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww False = mkVBalBranch1 key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww (sIZE_RATIO * size_r < size_l)
size_l  = sizeFM (Branch vuy vuz vvu vvv vvw)
size_r  = sizeFM (Branch vvy vvz vwu vwv vww)

are unpacked to the following functions on top level
mkVBalBranch3Size_r zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu = sizeFM (Branch zxx zxy zxz zyu zyv)

mkVBalBranch3Size_l zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu = sizeFM (Branch zyw zyx zyy zyz zzu)

mkVBalBranch3MkVBalBranch2 zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww True = mkBalBranch vvy vvz (mkVBalBranch key elt (Branch vuy vuz vvu vvv vvwvwvvww
mkVBalBranch3MkVBalBranch2 zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww False = mkVBalBranch3MkVBalBranch1 zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww (sIZE_RATIO * mkVBalBranch3Size_r zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu < mkVBalBranch3Size_l zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu)

mkVBalBranch3MkVBalBranch1 zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww True = mkBalBranch vuy vuz vvv (mkVBalBranch key elt vvw (Branch vvy vvz vwu vwv vww))
mkVBalBranch3MkVBalBranch1 zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww False = mkVBalBranch3MkVBalBranch0 zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww otherwise

mkVBalBranch3MkVBalBranch0 zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww True = mkBranch 13 key elt (Branch vuy vuz vvu vvv vvw) (Branch vvy vvz vwu vwv vww)

The bindings of the following Let/Where expression
let 
biggest_left_key  = fst (findMax fm_l)
in biggest_left_key < key

are unpacked to the following functions on top level
mkBranchLeft_ok0Biggest_left_key zzv = fst (findMax zzv)

The bindings of the following Let/Where expression
let 
smallest_right_key  = fst (findMin fm_r)
in key < smallest_right_key

are unpacked to the following functions on top level
mkBranchRight_ok0Smallest_right_key zzw = fst (findMin zzw)

The bindings of the following Let/Where expression
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise

are unpacked to the following functions on top level
reduce2Reduce1 zzx zzy x y True = error []
reduce2Reduce1 zzx zzy x y False = reduce2Reduce0 zzx zzy x y otherwise

reduce2D zzx zzy = gcd zzx zzy

reduce2Reduce0 zzx zzy x y True = x `quot` reduce2D zzx zzy :% (y `quot` reduce2D zzx zzy)

The bindings of the following Let/Where expression
gcd' (abs x) (abs y)
where 
gcd' x ywy = gcd'2 x ywy
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x ywy = x
gcd'1 ywz yxu yxv = gcd'0 yxu yxv
gcd'2 x ywy = gcd'1 (ywy == 0) x ywy
gcd'2 yxw yxx = gcd'0 yxw yxx

are unpacked to the following functions on top level
gcd0Gcd'1 True x ywy = x
gcd0Gcd'1 ywz yxu yxv = gcd0Gcd'0 yxu yxv

gcd0Gcd' x ywy = gcd0Gcd'2 x ywy
gcd0Gcd' x y = gcd0Gcd'0 x y

gcd0Gcd'2 x ywy = gcd0Gcd'1 (ywy == 0) x ywy
gcd0Gcd'2 yxw yxx = gcd0Gcd'0 yxw yxx

gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
HASKELL
                          ↳ NumRed

mainModule FiniteMap
  ((intersectFM_C :: Ord c => (a  ->  d  ->  b ->  FiniteMap c a  ->  FiniteMap c d  ->  FiniteMap c b) :: Ord c => (a  ->  d  ->  b ->  FiniteMap c a  ->  FiniteMap c d  ->  FiniteMap c b)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord b => FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt addToFM_C4 combiner EmptyFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt

  
addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True Branch new_key (combiner elt new_elt) size fm_l fm_r

  
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise

  
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key)

  
addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key)

  
addToFM_C4 combiner EmptyFM key elt unitFM key elt
addToFM_C4 xyz xzu xzv xzw addToFM_C3 xyz xzu xzv xzw

  deleteMax :: Ord b => FiniteMap b a  ->  FiniteMap b a
deleteMax (Branch key elt vwx fm_l EmptyFMfm_l
deleteMax (Branch key elt vwy fm_l fm_rmkBalBranch key elt fm_l (deleteMax fm_r)

  deleteMin :: Ord b => FiniteMap b a  ->  FiniteMap b a
deleteMin (Branch key elt wuw EmptyFM fm_rfm_r
deleteMin (Branch key elt wux fm_l fm_rmkBalBranch key elt (deleteMin fm_l) fm_r

  emptyFM :: FiniteMap b a
emptyFM EmptyFM

  findMax :: FiniteMap a b  ->  (a,b)
findMax (Branch key elt vyz vzu EmptyFM(key,elt)
findMax (Branch key elt vzv vzw fm_rfindMax fm_r

  findMin :: FiniteMap a b  ->  (a,b)
findMin (Branch key elt wz EmptyFM xu(key,elt)
findMin (Branch key elt xv fm_l xwfindMin fm_l

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (b  ->  a  ->  c  ->  c ->  c  ->  FiniteMap b a  ->  c
foldFM k z EmptyFM z
foldFM k z (Branch key elt wy fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  glueBal :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
glueBal EmptyFM fm2 glueBal4 EmptyFM fm2
glueBal fm1 EmptyFM glueBal3 fm1 EmptyFM
glueBal fm1 fm2 glueBal2 fm1 fm2

  
glueBal2 fm1 fm2 glueBal2GlueBal1 fm2 fm1 fm1 fm2 (sizeFM fm2 > sizeFM fm1)

  
glueBal2GlueBal0 yzy yzz fm1 fm2 True mkBalBranch (glueBal2Mid_key1 yzy yzz) (glueBal2Mid_elt1 yzy yzz) (deleteMax fm1) fm2

  
glueBal2GlueBal1 yzy yzz fm1 fm2 True mkBalBranch (glueBal2Mid_key2 yzy yzz) (glueBal2Mid_elt2 yzy yzz) fm1 (deleteMin fm2)
glueBal2GlueBal1 yzy yzz fm1 fm2 False glueBal2GlueBal0 yzy yzz fm1 fm2 otherwise

  
glueBal2Mid_elt1 yzy yzz glueBal2Mid_elt10 yzy yzz (glueBal2Vv2 yzy yzz)

  
glueBal2Mid_elt10 yzy yzz (vzx,mid_elt1mid_elt1

  
glueBal2Mid_elt2 yzy yzz glueBal2Mid_elt20 yzy yzz (glueBal2Vv3 yzy yzz)

  
glueBal2Mid_elt20 yzy yzz (vzy,mid_elt2mid_elt2

  
glueBal2Mid_key1 yzy yzz glueBal2Mid_key10 yzy yzz (glueBal2Vv2 yzy yzz)

  
glueBal2Mid_key10 yzy yzz (mid_key1,vzzmid_key1

  
glueBal2Mid_key2 yzy yzz glueBal2Mid_key20 yzy yzz (glueBal2Vv3 yzy yzz)

  
glueBal2Mid_key20 yzy yzz (mid_key2,wuumid_key2

  
glueBal2Vv2 yzy yzz findMax yzz

  
glueBal2Vv3 yzy yzz findMin yzy

  
glueBal3 fm1 EmptyFM fm1
glueBal3 xzy xzz glueBal2 xzy xzz

  
glueBal4 EmptyFM fm2 fm2
glueBal4 yuv yuw glueBal3 yuv yuw

  glueVBal :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
glueVBal EmptyFM fm2 glueVBal5 EmptyFM fm2
glueVBal fm1 EmptyFM glueVBal4 fm1 EmptyFM
glueVBal (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuwglueVBal3 (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

  
glueVBal3 (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuwglueVBal3GlueVBal2 yy yz zu zv zw zy zz vuu vuv vuw yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * glueVBal3Size_l yy yz zu zv zw zy zz vuu vuv vuw < glueVBal3Size_r yy yz zu zv zw zy zz vuu vuv vuw)

  
glueVBal3GlueVBal0 zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv yy yz zu zv zw zy zz vuu vuv vuw True glueBal (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

  
glueVBal3GlueVBal1 zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch yy yz zv (glueVBal zw (Branch zy zz vuu vuv vuw))
glueVBal3GlueVBal1 zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv yy yz zu zv zw zy zz vuu vuv vuw False glueVBal3GlueVBal0 zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv yy yz zu zv zw zy zz vuu vuv vuw otherwise

  
glueVBal3GlueVBal2 zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch zy zz (glueVBal (Branch yy yz zu zv zw) vuv) vuw
glueVBal3GlueVBal2 zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv yy yz zu zv zw zy zz vuu vuv vuw False glueVBal3GlueVBal1 zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * glueVBal3Size_r zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv < glueVBal3Size_l zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv)

  
glueVBal3Size_l zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv sizeFM (Branch zuy zuz zvu zvv zvw)

  
glueVBal3Size_r zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv sizeFM (Branch zvx zvy zvz zwu zwv)

  
glueVBal4 fm1 EmptyFM fm1
glueVBal4 xvw xvx glueVBal3 xvw xvx

  
glueVBal5 EmptyFM fm2 fm2
glueVBal5 xvz xwu glueVBal4 xvz xwu

  intersectFM_C :: Ord c => (b  ->  a  ->  d ->  FiniteMap c b  ->  FiniteMap c a  ->  FiniteMap c d
intersectFM_C combiner fm1 EmptyFM intersectFM_C4 combiner fm1 EmptyFM
intersectFM_C combiner EmptyFM fm2 intersectFM_C3 combiner EmptyFM fm2
intersectFM_C combiner fm1 (Branch split_key elt2 wuy left rightintersectFM_C2 combiner fm1 (Branch split_key elt2 wuy left right)

  
intersectFM_C2 combiner fm1 (Branch split_key elt2 wuy left rightintersectFM_C2IntersectFM_C1 fm1 split_key combiner fm1 split_key elt2 wuy left right (Maybe.isJust (intersectFM_C2Maybe_elt1 fm1 split_key))

  
intersectFM_C2Elt1 yzw yzx intersectFM_C2Elt10 yzw yzx (intersectFM_C2Vv1 yzw yzx)

  
intersectFM_C2Elt10 yzw yzx (Just elt1elt1

  
intersectFM_C2Gts yzw yzx splitGT yzw yzx

  
intersectFM_C2IntersectFM_C0 yzw yzx combiner fm1 split_key elt2 wuy left right True glueVBal (intersectFM_C combiner (intersectFM_C2Lts yzw yzx) left) (intersectFM_C combiner (intersectFM_C2Gts yzw yzx) right)

  
intersectFM_C2IntersectFM_C1 yzw yzx combiner fm1 split_key elt2 wuy left right True mkVBalBranch split_key (combiner (intersectFM_C2Elt1 yzw yzx) elt2) (intersectFM_C combiner (intersectFM_C2Lts yzw yzx) left) (intersectFM_C combiner (intersectFM_C2Gts yzw yzx) right)
intersectFM_C2IntersectFM_C1 yzw yzx combiner fm1 split_key elt2 wuy left right False intersectFM_C2IntersectFM_C0 yzw yzx combiner fm1 split_key elt2 wuy left right otherwise

  
intersectFM_C2Lts yzw yzx splitLT yzw yzx

  
intersectFM_C2Maybe_elt1 yzw yzx lookupFM yzw yzx

  
intersectFM_C2Vv1 yzw yzx intersectFM_C2Maybe_elt1 yzw yzx

  
intersectFM_C3 combiner EmptyFM fm2 emptyFM
intersectFM_C3 yvx yvy yvz intersectFM_C2 yvx yvy yvz

  
intersectFM_C4 combiner fm1 EmptyFM emptyFM
intersectFM_C4 ywv yww ywx intersectFM_C3 ywv yww ywx

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt wuv fm_l fm_rkey_to_find lookupFM3 (Branch key elt wuv fm_l fm_r) key_to_find

  
lookupFM0 key elt wuv fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt wuv fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt wuv fm_l fm_r key_to_find False lookupFM0 key elt wuv fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt wuv fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt wuv fm_l fm_r key_to_find False lookupFM1 key elt wuv fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt wuv fm_l fm_rkey_to_find lookupFM2 key elt wuv fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 yuz yvu lookupFM3 yuz yvu

  mkBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBalBranch key elt fm_L fm_R mkBalBranch6 key elt fm_L fm_R

  
mkBalBranch6 key elt fm_L fm_R mkBalBranch6MkBalBranch5 key elt fm_L fm_R key elt fm_L fm_R (mkBalBranch6Size_l key elt fm_L fm_R + mkBalBranch6Size_r key elt fm_L fm_R < 2)

  
mkBalBranch6Double_L zuu zuv zuw zux fm_l (Branch key_r elt_r vxz (Branch key_rl elt_rl vyu fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 zuu zuv fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)

  
mkBalBranch6Double_R zuu zuv zuw zux (Branch key_l elt_l vxu fm_ll (Branch key_lr elt_lr vxv fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 zuu zuv fm_lrr fm_r)

  
mkBalBranch6MkBalBranch0 zuu zuv zuw zux fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rrmkBalBranch6MkBalBranch02 zuu zuv zuw zux fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rr)

  
mkBalBranch6MkBalBranch00 zuu zuv zuw zux fm_L fm_R vyv vyw vyx fm_rl fm_rr True mkBalBranch6Double_L zuu zuv zuw zux fm_L fm_R

  
mkBalBranch6MkBalBranch01 zuu zuv zuw zux fm_L fm_R vyv vyw vyx fm_rl fm_rr True mkBalBranch6Single_L zuu zuv zuw zux fm_L fm_R
mkBalBranch6MkBalBranch01 zuu zuv zuw zux fm_L fm_R vyv vyw vyx fm_rl fm_rr False mkBalBranch6MkBalBranch00 zuu zuv zuw zux fm_L fm_R vyv vyw vyx fm_rl fm_rr otherwise

  
mkBalBranch6MkBalBranch02 zuu zuv zuw zux fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rrmkBalBranch6MkBalBranch01 zuu zuv zuw zux fm_L fm_R vyv vyw vyx fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)

  
mkBalBranch6MkBalBranch1 zuu zuv zuw zux fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lrmkBalBranch6MkBalBranch12 zuu zuv zuw zux fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lr)

  
mkBalBranch6MkBalBranch10 zuu zuv zuw zux fm_L fm_R vxw vxx vxy fm_ll fm_lr True mkBalBranch6Double_R zuu zuv zuw zux fm_L fm_R

  
mkBalBranch6MkBalBranch11 zuu zuv zuw zux fm_L fm_R vxw vxx vxy fm_ll fm_lr True mkBalBranch6Single_R zuu zuv zuw zux fm_L fm_R
mkBalBranch6MkBalBranch11 zuu zuv zuw zux fm_L fm_R vxw vxx vxy fm_ll fm_lr False mkBalBranch6MkBalBranch10 zuu zuv zuw zux fm_L fm_R vxw vxx vxy fm_ll fm_lr otherwise

  
mkBalBranch6MkBalBranch12 zuu zuv zuw zux fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lrmkBalBranch6MkBalBranch11 zuu zuv zuw zux fm_L fm_R vxw vxx vxy fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)

  
mkBalBranch6MkBalBranch2 zuu zuv zuw zux key elt fm_L fm_R True mkBranch 2 key elt fm_L fm_R

  
mkBalBranch6MkBalBranch3 zuu zuv zuw zux key elt fm_L fm_R True mkBalBranch6MkBalBranch1 zuu zuv zuw zux fm_L fm_R fm_L
mkBalBranch6MkBalBranch3 zuu zuv zuw zux key elt fm_L fm_R False mkBalBranch6MkBalBranch2 zuu zuv zuw zux key elt fm_L fm_R otherwise

  
mkBalBranch6MkBalBranch4 zuu zuv zuw zux key elt fm_L fm_R True mkBalBranch6MkBalBranch0 zuu zuv zuw zux fm_L fm_R fm_R
mkBalBranch6MkBalBranch4 zuu zuv zuw zux key elt fm_L fm_R False mkBalBranch6MkBalBranch3 zuu zuv zuw zux key elt fm_L fm_R (mkBalBranch6Size_l zuu zuv zuw zux > sIZE_RATIO * mkBalBranch6Size_r zuu zuv zuw zux)

  
mkBalBranch6MkBalBranch5 zuu zuv zuw zux key elt fm_L fm_R True mkBranch 1 key elt fm_L fm_R
mkBalBranch6MkBalBranch5 zuu zuv zuw zux key elt fm_L fm_R False mkBalBranch6MkBalBranch4 zuu zuv zuw zux key elt fm_L fm_R (mkBalBranch6Size_r zuu zuv zuw zux > sIZE_RATIO * mkBalBranch6Size_l zuu zuv zuw zux)

  
mkBalBranch6Single_L zuu zuv zuw zux fm_l (Branch key_r elt_r vyy fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 zuu zuv fm_l fm_rl) fm_rr

  
mkBalBranch6Single_R zuu zuv zuw zux (Branch key_l elt_l vwz fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 zuu zuv fm_lr fm_r)

  
mkBalBranch6Size_l zuu zuv zuw zux sizeFM zuw

  
mkBalBranch6Size_r zuu zuv zuw zux sizeFM zux

  mkBranch :: Ord a => Int  ->  a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBranch which key elt fm_l fm_r mkBranchResult key elt fm_r fm_l

  
mkBranchBalance_ok zww zwx zwy True

  
mkBranchLeft_ok zww zwx zwy mkBranchLeft_ok0 zww zwx zwy zwy zwx zwy

  
mkBranchLeft_ok0 zww zwx zwy fm_l key EmptyFM True
mkBranchLeft_ok0 zww zwx zwy fm_l key (Branch left_key vw vx vy vzmkBranchLeft_ok0Biggest_left_key fm_l < key

  
mkBranchLeft_ok0Biggest_left_key zzv fst (findMax zzv)

  
mkBranchLeft_size zww zwx zwy sizeFM zwy

  
mkBranchResult zwz zxu zxv zxw Branch zwz zxu (mkBranchUnbox zxv zwz zxw (1 + mkBranchLeft_size zxv zwz zxw + mkBranchRight_size zxv zwz zxw)) zxw zxv

  
mkBranchRight_ok zww zwx zwy mkBranchRight_ok0 zww zwx zwy zww zwx zww

  
mkBranchRight_ok0 zww zwx zwy fm_r key EmptyFM True
mkBranchRight_ok0 zww zwx zwy fm_r key (Branch right_key wu wv ww wxkey < mkBranchRight_ok0Smallest_right_key fm_r

  
mkBranchRight_ok0Smallest_right_key zzw fst (findMin zzw)

  
mkBranchRight_size zww zwx zwy sizeFM zww

  mkBranchUnbox :: Ord a =>  ->  (FiniteMap a b) ( ->  a ( ->  (FiniteMap a b) (Int  ->  Int)))
mkBranchUnbox zww zwx zwy x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r mkVBalBranch5 key elt EmptyFM fm_r
mkVBalBranch key elt fm_l EmptyFM mkVBalBranch4 key elt fm_l EmptyFM
mkVBalBranch key elt (Branch vuy vuz vvu vvv vvw) (Branch vvy vvz vwu vwv vwwmkVBalBranch3 key elt (Branch vuy vuz vvu vvv vvw) (Branch vvy vvz vwu vwv vww)

  
mkVBalBranch3 key elt (Branch vuy vuz vvu vvv vvw) (Branch vvy vvz vwu vwv vwwmkVBalBranch3MkVBalBranch2 vvy vvz vwu vwv vww vuy vuz vvu vvv vvw key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww (sIZE_RATIO * mkVBalBranch3Size_l vvy vvz vwu vwv vww vuy vuz vvu vvv vvw < mkVBalBranch3Size_r vvy vvz vwu vwv vww vuy vuz vvu vvv vvw)

  
mkVBalBranch3MkVBalBranch0 zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww True mkBranch 13 key elt (Branch vuy vuz vvu vvv vvw) (Branch vvy vvz vwu vwv vww)

  
mkVBalBranch3MkVBalBranch1 zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww True mkBalBranch vuy vuz vvv (mkVBalBranch key elt vvw (Branch vvy vvz vwu vwv vww))
mkVBalBranch3MkVBalBranch1 zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww False mkVBalBranch3MkVBalBranch0 zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww otherwise

  
mkVBalBranch3MkVBalBranch2 zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww True mkBalBranch vvy vvz (mkVBalBranch key elt (Branch vuy vuz vvu vvv vvw) vwv) vww
mkVBalBranch3MkVBalBranch2 zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww False mkVBalBranch3MkVBalBranch1 zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww (sIZE_RATIO * mkVBalBranch3Size_r zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu < mkVBalBranch3Size_l zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu)

  
mkVBalBranch3Size_l zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu sizeFM (Branch zyw zyx zyy zyz zzu)

  
mkVBalBranch3Size_r zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu sizeFM (Branch zxx zxy zxz zyu zyv)

  
mkVBalBranch4 key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch4 xwy xwz xxu xxv mkVBalBranch3 xwy xwz xxu xxv

  
mkVBalBranch5 key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch5 xxx xxy xxz xyu mkVBalBranch4 xxx xxy xxz xyu

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch xz yu size yv ywsize

  splitGT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitGT EmptyFM split_key splitGT4 EmptyFM split_key
splitGT (Branch key elt xy fm_l fm_rsplit_key splitGT3 (Branch key elt xy fm_l fm_r) split_key

  
splitGT0 key elt xy fm_l fm_r split_key True fm_r

  
splitGT1 key elt xy fm_l fm_r split_key True mkVBalBranch key elt (splitGT fm_l split_key) fm_r
splitGT1 key elt xy fm_l fm_r split_key False splitGT0 key elt xy fm_l fm_r split_key otherwise

  
splitGT2 key elt xy fm_l fm_r split_key True splitGT fm_r split_key
splitGT2 key elt xy fm_l fm_r split_key False splitGT1 key elt xy fm_l fm_r split_key (split_key < key)

  
splitGT3 (Branch key elt xy fm_l fm_rsplit_key splitGT2 key elt xy fm_l fm_r split_key (split_key > key)

  
splitGT4 EmptyFM split_key emptyFM
splitGT4 xux xuy splitGT3 xux xuy

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key splitLT4 EmptyFM split_key
splitLT (Branch key elt xx fm_l fm_rsplit_key splitLT3 (Branch key elt xx fm_l fm_r) split_key

  
splitLT0 key elt xx fm_l fm_r split_key True fm_l

  
splitLT1 key elt xx fm_l fm_r split_key True mkVBalBranch key elt fm_l (splitLT fm_r split_key)
splitLT1 key elt xx fm_l fm_r split_key False splitLT0 key elt xx fm_l fm_r split_key otherwise

  
splitLT2 key elt xx fm_l fm_r split_key True splitLT fm_l split_key
splitLT2 key elt xx fm_l fm_r split_key False splitLT1 key elt xx fm_l fm_r split_key (split_key > key)

  
splitLT3 (Branch key elt xx fm_l fm_rsplit_key splitLT2 key elt xx fm_l fm_r split_key (split_key < key)

  
splitLT4 EmptyFM split_key emptyFM
splitLT4 wzz xuu splitLT3 wzz xuu

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude

  isJust :: Maybe a  ->  Bool
isJust Nothing False
isJust wuz True



Num Reduction: All numbers are transformed to thier corresponding representation with Pos, Neg, Succ and Zero.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
HASKELL
                              ↳ Narrow

mainModule FiniteMap
  (intersectFM_C :: Ord d => (a  ->  c  ->  b ->  FiniteMap d a  ->  FiniteMap d c  ->  FiniteMap d b)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord a => FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt addToFM_C4 combiner EmptyFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt

  
addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True Branch new_key (combiner elt new_elt) size fm_l fm_r

  
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise

  
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key)

  
addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key)

  
addToFM_C4 combiner EmptyFM key elt unitFM key elt
addToFM_C4 xyz xzu xzv xzw addToFM_C3 xyz xzu xzv xzw

  deleteMax :: Ord b => FiniteMap b a  ->  FiniteMap b a
deleteMax (Branch key elt vwx fm_l EmptyFMfm_l
deleteMax (Branch key elt vwy fm_l fm_rmkBalBranch key elt fm_l (deleteMax fm_r)

  deleteMin :: Ord b => FiniteMap b a  ->  FiniteMap b a
deleteMin (Branch key elt wuw EmptyFM fm_rfm_r
deleteMin (Branch key elt wux fm_l fm_rmkBalBranch key elt (deleteMin fm_l) fm_r

  emptyFM :: FiniteMap a b
emptyFM EmptyFM

  findMax :: FiniteMap b a  ->  (b,a)
findMax (Branch key elt vyz vzu EmptyFM(key,elt)
findMax (Branch key elt vzv vzw fm_rfindMax fm_r

  findMin :: FiniteMap b a  ->  (b,a)
findMin (Branch key elt wz EmptyFM xu(key,elt)
findMin (Branch key elt xv fm_l xwfindMin fm_l

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  a  ->  b  ->  b ->  b  ->  FiniteMap c a  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt wy fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  glueBal :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
glueBal EmptyFM fm2 glueBal4 EmptyFM fm2
glueBal fm1 EmptyFM glueBal3 fm1 EmptyFM
glueBal fm1 fm2 glueBal2 fm1 fm2

  
glueBal2 fm1 fm2 glueBal2GlueBal1 fm2 fm1 fm1 fm2 (sizeFM fm2 > sizeFM fm1)

  
glueBal2GlueBal0 yzy yzz fm1 fm2 True mkBalBranch (glueBal2Mid_key1 yzy yzz) (glueBal2Mid_elt1 yzy yzz) (deleteMax fm1) fm2

  
glueBal2GlueBal1 yzy yzz fm1 fm2 True mkBalBranch (glueBal2Mid_key2 yzy yzz) (glueBal2Mid_elt2 yzy yzz) fm1 (deleteMin fm2)
glueBal2GlueBal1 yzy yzz fm1 fm2 False glueBal2GlueBal0 yzy yzz fm1 fm2 otherwise

  
glueBal2Mid_elt1 yzy yzz glueBal2Mid_elt10 yzy yzz (glueBal2Vv2 yzy yzz)

  
glueBal2Mid_elt10 yzy yzz (vzx,mid_elt1mid_elt1

  
glueBal2Mid_elt2 yzy yzz glueBal2Mid_elt20 yzy yzz (glueBal2Vv3 yzy yzz)

  
glueBal2Mid_elt20 yzy yzz (vzy,mid_elt2mid_elt2

  
glueBal2Mid_key1 yzy yzz glueBal2Mid_key10 yzy yzz (glueBal2Vv2 yzy yzz)

  
glueBal2Mid_key10 yzy yzz (mid_key1,vzzmid_key1

  
glueBal2Mid_key2 yzy yzz glueBal2Mid_key20 yzy yzz (glueBal2Vv3 yzy yzz)

  
glueBal2Mid_key20 yzy yzz (mid_key2,wuumid_key2

  
glueBal2Vv2 yzy yzz findMax yzz

  
glueBal2Vv3 yzy yzz findMin yzy

  
glueBal3 fm1 EmptyFM fm1
glueBal3 xzy xzz glueBal2 xzy xzz

  
glueBal4 EmptyFM fm2 fm2
glueBal4 yuv yuw glueBal3 yuv yuw

  glueVBal :: Ord b => FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
glueVBal EmptyFM fm2 glueVBal5 EmptyFM fm2
glueVBal fm1 EmptyFM glueVBal4 fm1 EmptyFM
glueVBal (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuwglueVBal3 (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

  
glueVBal3 (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuwglueVBal3GlueVBal2 yy yz zu zv zw zy zz vuu vuv vuw yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * glueVBal3Size_l yy yz zu zv zw zy zz vuu vuv vuw < glueVBal3Size_r yy yz zu zv zw zy zz vuu vuv vuw)

  
glueVBal3GlueVBal0 zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv yy yz zu zv zw zy zz vuu vuv vuw True glueBal (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

  
glueVBal3GlueVBal1 zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch yy yz zv (glueVBal zw (Branch zy zz vuu vuv vuw))
glueVBal3GlueVBal1 zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv yy yz zu zv zw zy zz vuu vuv vuw False glueVBal3GlueVBal0 zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv yy yz zu zv zw zy zz vuu vuv vuw otherwise

  
glueVBal3GlueVBal2 zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch zy zz (glueVBal (Branch yy yz zu zv zw) vuv) vuw
glueVBal3GlueVBal2 zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv yy yz zu zv zw zy zz vuu vuv vuw False glueVBal3GlueVBal1 zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * glueVBal3Size_r zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv < glueVBal3Size_l zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv)

  
glueVBal3Size_l zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv sizeFM (Branch zuy zuz zvu zvv zvw)

  
glueVBal3Size_r zuy zuz zvu zvv zvw zvx zvy zvz zwu zwv sizeFM (Branch zvx zvy zvz zwu zwv)

  
glueVBal4 fm1 EmptyFM fm1
glueVBal4 xvw xvx glueVBal3 xvw xvx

  
glueVBal5 EmptyFM fm2 fm2
glueVBal5 xvz xwu glueVBal4 xvz xwu

  intersectFM_C :: Ord d => (a  ->  b  ->  c ->  FiniteMap d a  ->  FiniteMap d b  ->  FiniteMap d c
intersectFM_C combiner fm1 EmptyFM intersectFM_C4 combiner fm1 EmptyFM
intersectFM_C combiner EmptyFM fm2 intersectFM_C3 combiner EmptyFM fm2
intersectFM_C combiner fm1 (Branch split_key elt2 wuy left rightintersectFM_C2 combiner fm1 (Branch split_key elt2 wuy left right)

  
intersectFM_C2 combiner fm1 (Branch split_key elt2 wuy left rightintersectFM_C2IntersectFM_C1 fm1 split_key combiner fm1 split_key elt2 wuy left right (Maybe.isJust (intersectFM_C2Maybe_elt1 fm1 split_key))

  
intersectFM_C2Elt1 yzw yzx intersectFM_C2Elt10 yzw yzx (intersectFM_C2Vv1 yzw yzx)

  
intersectFM_C2Elt10 yzw yzx (Just elt1elt1

  
intersectFM_C2Gts yzw yzx splitGT yzw yzx

  
intersectFM_C2IntersectFM_C0 yzw yzx combiner fm1 split_key elt2 wuy left right True glueVBal (intersectFM_C combiner (intersectFM_C2Lts yzw yzx) left) (intersectFM_C combiner (intersectFM_C2Gts yzw yzx) right)

  
intersectFM_C2IntersectFM_C1 yzw yzx combiner fm1 split_key elt2 wuy left right True mkVBalBranch split_key (combiner (intersectFM_C2Elt1 yzw yzx) elt2) (intersectFM_C combiner (intersectFM_C2Lts yzw yzx) left) (intersectFM_C combiner (intersectFM_C2Gts yzw yzx) right)
intersectFM_C2IntersectFM_C1 yzw yzx combiner fm1 split_key elt2 wuy left right False intersectFM_C2IntersectFM_C0 yzw yzx combiner fm1 split_key elt2 wuy left right otherwise

  
intersectFM_C2Lts yzw yzx splitLT yzw yzx

  
intersectFM_C2Maybe_elt1 yzw yzx lookupFM yzw yzx

  
intersectFM_C2Vv1 yzw yzx intersectFM_C2Maybe_elt1 yzw yzx

  
intersectFM_C3 combiner EmptyFM fm2 emptyFM
intersectFM_C3 yvx yvy yvz intersectFM_C2 yvx yvy yvz

  
intersectFM_C4 combiner fm1 EmptyFM emptyFM
intersectFM_C4 ywv yww ywx intersectFM_C3 ywv yww ywx

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt wuv fm_l fm_rkey_to_find lookupFM3 (Branch key elt wuv fm_l fm_r) key_to_find

  
lookupFM0 key elt wuv fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt wuv fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt wuv fm_l fm_r key_to_find False lookupFM0 key elt wuv fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt wuv fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt wuv fm_l fm_r key_to_find False lookupFM1 key elt wuv fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt wuv fm_l fm_rkey_to_find lookupFM2 key elt wuv fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 yuz yvu lookupFM3 yuz yvu

  mkBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBalBranch key elt fm_L fm_R mkBalBranch6 key elt fm_L fm_R

  
mkBalBranch6 key elt fm_L fm_R mkBalBranch6MkBalBranch5 key elt fm_L fm_R key elt fm_L fm_R (mkBalBranch6Size_l key elt fm_L fm_R + mkBalBranch6Size_r key elt fm_L fm_R < Pos (Succ (Succ Zero)))

  
mkBalBranch6Double_L zuu zuv zuw zux fm_l (Branch key_r elt_r vxz (Branch key_rl elt_rl vyu fm_rll fm_rlr) fm_rrmkBranch (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) key_rl elt_rl (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) zuu zuv fm_l fm_rll) (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) key_r elt_r fm_rlr fm_rr)

  
mkBalBranch6Double_R zuu zuv zuw zux (Branch key_l elt_l vxu fm_ll (Branch key_lr elt_lr vxv fm_lrl fm_lrr)) fm_r mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))) key_lr elt_lr (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))) key_l elt_l fm_ll fm_lrl) (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) zuu zuv fm_lrr fm_r)

  
mkBalBranch6MkBalBranch0 zuu zuv zuw zux fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rrmkBalBranch6MkBalBranch02 zuu zuv zuw zux fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rr)

  
mkBalBranch6MkBalBranch00 zuu zuv zuw zux fm_L fm_R vyv vyw vyx fm_rl fm_rr True mkBalBranch6Double_L zuu zuv zuw zux fm_L fm_R

  
mkBalBranch6MkBalBranch01 zuu zuv zuw zux fm_L fm_R vyv vyw vyx fm_rl fm_rr True mkBalBranch6Single_L zuu zuv zuw zux fm_L fm_R
mkBalBranch6MkBalBranch01 zuu zuv zuw zux fm_L fm_R vyv vyw vyx fm_rl fm_rr False mkBalBranch6MkBalBranch00 zuu zuv zuw zux fm_L fm_R vyv vyw vyx fm_rl fm_rr otherwise

  
mkBalBranch6MkBalBranch02 zuu zuv zuw zux fm_L fm_R (Branch vyv vyw vyx fm_rl fm_rrmkBalBranch6MkBalBranch01 zuu zuv zuw zux fm_L fm_R vyv vyw vyx fm_rl fm_rr (sizeFM fm_rl < Pos (Succ (Succ Zero)) * sizeFM fm_rr)

  
mkBalBranch6MkBalBranch1 zuu zuv zuw zux fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lrmkBalBranch6MkBalBranch12 zuu zuv zuw zux fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lr)

  
mkBalBranch6MkBalBranch10 zuu zuv zuw zux fm_L fm_R vxw vxx vxy fm_ll fm_lr True mkBalBranch6Double_R zuu zuv zuw zux fm_L fm_R

  
mkBalBranch6MkBalBranch11 zuu zuv zuw zux fm_L fm_R vxw vxx vxy fm_ll fm_lr True mkBalBranch6Single_R zuu zuv zuw zux fm_L fm_R
mkBalBranch6MkBalBranch11 zuu zuv zuw zux fm_L fm_R vxw vxx vxy fm_ll fm_lr False mkBalBranch6MkBalBranch10 zuu zuv zuw zux fm_L fm_R vxw vxx vxy fm_ll fm_lr otherwise

  
mkBalBranch6MkBalBranch12 zuu zuv zuw zux fm_L fm_R (Branch vxw vxx vxy fm_ll fm_lrmkBalBranch6MkBalBranch11 zuu zuv zuw zux fm_L fm_R vxw vxx vxy fm_ll fm_lr (sizeFM fm_lr < Pos (Succ (Succ Zero)) * sizeFM fm_ll)

  
mkBalBranch6MkBalBranch2 zuu zuv zuw zux key elt fm_L fm_R True mkBranch (Pos (Succ (Succ Zero))) key elt fm_L fm_R

  
mkBalBranch6MkBalBranch3 zuu zuv zuw zux key elt fm_L fm_R True mkBalBranch6MkBalBranch1 zuu zuv zuw zux fm_L fm_R fm_L
mkBalBranch6MkBalBranch3 zuu zuv zuw zux key elt fm_L fm_R False mkBalBranch6MkBalBranch2 zuu zuv zuw zux key elt fm_L fm_R otherwise

  
mkBalBranch6MkBalBranch4 zuu zuv zuw zux key elt fm_L fm_R True mkBalBranch6MkBalBranch0 zuu zuv zuw zux fm_L fm_R fm_R
mkBalBranch6MkBalBranch4 zuu zuv zuw zux key elt fm_L fm_R False mkBalBranch6MkBalBranch3 zuu zuv zuw zux key elt fm_L fm_R (mkBalBranch6Size_l zuu zuv zuw zux > sIZE_RATIO * mkBalBranch6Size_r zuu zuv zuw zux)

  
mkBalBranch6MkBalBranch5 zuu zuv zuw zux key elt fm_L fm_R True mkBranch (Pos (Succ Zero)) key elt fm_L fm_R
mkBalBranch6MkBalBranch5 zuu zuv zuw zux key elt fm_L fm_R False mkBalBranch6MkBalBranch4 zuu zuv zuw zux key elt fm_L fm_R (mkBalBranch6Size_r zuu zuv zuw zux > sIZE_RATIO * mkBalBranch6Size_l zuu zuv zuw zux)

  
mkBalBranch6Single_L zuu zuv zuw zux fm_l (Branch key_r elt_r vyy fm_rl fm_rrmkBranch (Pos (Succ (Succ (Succ Zero)))) key_r elt_r (mkBranch (Pos (Succ (Succ (Succ (Succ Zero))))) zuu zuv fm_l fm_rl) fm_rr

  
mkBalBranch6Single_R zuu zuv zuw zux (Branch key_l elt_l vwz fm_ll fm_lrfm_r mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))) key_l elt_l fm_ll (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))) zuu zuv fm_lr fm_r)

  
mkBalBranch6Size_l zuu zuv zuw zux sizeFM zuw

  
mkBalBranch6Size_r zuu zuv zuw zux sizeFM zux

  mkBranch :: Ord a => Int  ->  a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBranch which key elt fm_l fm_r mkBranchResult key elt fm_r fm_l

  
mkBranchBalance_ok zww zwx zwy True

  
mkBranchLeft_ok zww zwx zwy mkBranchLeft_ok0 zww zwx zwy zwy zwx zwy

  
mkBranchLeft_ok0 zww zwx zwy fm_l key EmptyFM True
mkBranchLeft_ok0 zww zwx zwy fm_l key (Branch left_key vw vx vy vzmkBranchLeft_ok0Biggest_left_key fm_l < key

  
mkBranchLeft_ok0Biggest_left_key zzv fst (findMax zzv)

  
mkBranchLeft_size zww zwx zwy sizeFM zwy

  
mkBranchResult zwz zxu zxv zxw Branch zwz zxu (mkBranchUnbox zxv zwz zxw (Pos (Succ Zero+ mkBranchLeft_size zxv zwz zxw + mkBranchRight_size zxv zwz zxw)) zxw zxv

  
mkBranchRight_ok zww zwx zwy mkBranchRight_ok0 zww zwx zwy zww zwx zww

  
mkBranchRight_ok0 zww zwx zwy fm_r key EmptyFM True
mkBranchRight_ok0 zww zwx zwy fm_r key (Branch right_key wu wv ww wxkey < mkBranchRight_ok0Smallest_right_key fm_r

  
mkBranchRight_ok0Smallest_right_key zzw fst (findMin zzw)

  
mkBranchRight_size zww zwx zwy sizeFM zww

  mkBranchUnbox :: Ord a =>  ->  (FiniteMap a b) ( ->  a ( ->  (FiniteMap a b) (Int  ->  Int)))
mkBranchUnbox zww zwx zwy x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r mkVBalBranch5 key elt EmptyFM fm_r
mkVBalBranch key elt fm_l EmptyFM mkVBalBranch4 key elt fm_l EmptyFM
mkVBalBranch key elt (Branch vuy vuz vvu vvv vvw) (Branch vvy vvz vwu vwv vwwmkVBalBranch3 key elt (Branch vuy vuz vvu vvv vvw) (Branch vvy vvz vwu vwv vww)

  
mkVBalBranch3 key elt (Branch vuy vuz vvu vvv vvw) (Branch vvy vvz vwu vwv vwwmkVBalBranch3MkVBalBranch2 vvy vvz vwu vwv vww vuy vuz vvu vvv vvw key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww (sIZE_RATIO * mkVBalBranch3Size_l vvy vvz vwu vwv vww vuy vuz vvu vvv vvw < mkVBalBranch3Size_r vvy vvz vwu vwv vww vuy vuz vvu vvv vvw)

  
mkVBalBranch3MkVBalBranch0 zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww True mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))) key elt (Branch vuy vuz vvu vvv vvw) (Branch vvy vvz vwu vwv vww)

  
mkVBalBranch3MkVBalBranch1 zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww True mkBalBranch vuy vuz vvv (mkVBalBranch key elt vvw (Branch vvy vvz vwu vwv vww))
mkVBalBranch3MkVBalBranch1 zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww False mkVBalBranch3MkVBalBranch0 zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww otherwise

  
mkVBalBranch3MkVBalBranch2 zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww True mkBalBranch vvy vvz (mkVBalBranch key elt (Branch vuy vuz vvu vvv vvw) vwv) vww
mkVBalBranch3MkVBalBranch2 zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww False mkVBalBranch3MkVBalBranch1 zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu key elt vuy vuz vvu vvv vvw vvy vvz vwu vwv vww (sIZE_RATIO * mkVBalBranch3Size_r zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu < mkVBalBranch3Size_l zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu)

  
mkVBalBranch3Size_l zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu sizeFM (Branch zyw zyx zyy zyz zzu)

  
mkVBalBranch3Size_r zxx zxy zxz zyu zyv zyw zyx zyy zyz zzu sizeFM (Branch zxx zxy zxz zyu zyv)

  
mkVBalBranch4 key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch4 xwy xwz xxu xxv mkVBalBranch3 xwy xwz xxu xxv

  
mkVBalBranch5 key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch5 xxx xxy xxz xyu mkVBalBranch4 xxx xxy xxz xyu

  sIZE_RATIO :: Int
sIZE_RATIO Pos (Succ (Succ (Succ (Succ (Succ Zero)))))

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM Pos Zero
sizeFM (Branch xz yu size yv ywsize

  splitGT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitGT EmptyFM split_key splitGT4 EmptyFM split_key
splitGT (Branch key elt xy fm_l fm_rsplit_key splitGT3 (Branch key elt xy fm_l fm_r) split_key

  
splitGT0 key elt xy fm_l fm_r split_key True fm_r

  
splitGT1 key elt xy fm_l fm_r split_key True mkVBalBranch key elt (splitGT fm_l split_key) fm_r
splitGT1 key elt xy fm_l fm_r split_key False splitGT0 key elt xy fm_l fm_r split_key otherwise

  
splitGT2 key elt xy fm_l fm_r split_key True splitGT fm_r split_key
splitGT2 key elt xy fm_l fm_r split_key False splitGT1 key elt xy fm_l fm_r split_key (split_key < key)

  
splitGT3 (Branch key elt xy fm_l fm_rsplit_key splitGT2 key elt xy fm_l fm_r split_key (split_key > key)

  
splitGT4 EmptyFM split_key emptyFM
splitGT4 xux xuy splitGT3 xux xuy

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key splitLT4 EmptyFM split_key
splitLT (Branch key elt xx fm_l fm_rsplit_key splitLT3 (Branch key elt xx fm_l fm_r) split_key

  
splitLT0 key elt xx fm_l fm_r split_key True fm_l

  
splitLT1 key elt xx fm_l fm_r split_key True mkVBalBranch key elt fm_l (splitLT fm_r split_key)
splitLT1 key elt xx fm_l fm_r split_key False splitLT0 key elt xx fm_l fm_r split_key otherwise

  
splitLT2 key elt xx fm_l fm_r split_key True splitLT fm_l split_key
splitLT2 key elt xx fm_l fm_r split_key False splitLT1 key elt xx fm_l fm_r split_key (split_key > key)

  
splitLT3 (Branch key elt xx fm_l fm_rsplit_key splitLT2 key elt xx fm_l fm_r split_key (split_key < key)

  
splitLT4 EmptyFM split_key emptyFM
splitLT4 wzz xuu splitLT3 wzz xuu

  unitFM :: b  ->  a  ->  FiniteMap b a
unitFM key elt Branch key elt (Pos (Succ Zero)) emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude

  isJust :: Maybe a  ->  Bool
isJust Nothing False
isJust wuz True



Haskell To QDPs


↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueBal2Mid_key20(zzz1702, zzz1703, zzz1704, zzz1705, zzz1706, zzz1707, zzz1708, zzz1709, zzz1710, zzz1711, zzz1712, zzz1713, zzz1714, Branch(zzz17150, zzz17151, zzz17152, zzz17153, zzz17154), zzz1716, h, ba) → new_glueBal2Mid_key20(zzz1702, zzz1703, zzz1704, zzz1705, zzz1706, zzz1707, zzz1708, zzz1709, zzz1710, zzz1711, zzz17150, zzz17151, zzz17152, zzz17153, zzz17154, h, ba)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueBal2Mid_elt20(zzz1686, zzz1687, zzz1688, zzz1689, zzz1690, zzz1691, zzz1692, zzz1693, zzz1694, zzz1695, zzz1696, zzz1697, zzz1698, Branch(zzz16990, zzz16991, zzz16992, zzz16993, zzz16994), zzz1700, h, ba) → new_glueBal2Mid_elt20(zzz1686, zzz1687, zzz1688, zzz1689, zzz1690, zzz1691, zzz1692, zzz1693, zzz1694, zzz1695, zzz16990, zzz16991, zzz16992, zzz16993, zzz16994, h, ba)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueBal2Mid_key10(zzz1734, zzz1735, zzz1736, zzz1737, zzz1738, zzz1739, zzz1740, zzz1741, zzz1742, zzz1743, zzz1744, zzz1745, zzz1746, zzz1747, Branch(zzz17480, zzz17481, zzz17482, zzz17483, zzz17484), h, ba) → new_glueBal2Mid_key10(zzz1734, zzz1735, zzz1736, zzz1737, zzz1738, zzz1739, zzz1740, zzz1741, zzz1742, zzz1743, zzz17480, zzz17481, zzz17482, zzz17483, zzz17484, h, ba)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueBal2Mid_elt10(zzz1718, zzz1719, zzz1720, zzz1721, zzz1722, zzz1723, zzz1724, zzz1725, zzz1726, zzz1727, zzz1728, zzz1729, zzz1730, zzz1731, Branch(zzz17320, zzz17321, zzz17322, zzz17323, zzz17324), h, ba) → new_glueBal2Mid_elt10(zzz1718, zzz1719, zzz1720, zzz1721, zzz1722, zzz1723, zzz1724, zzz1725, zzz1726, zzz1727, zzz17320, zzz17321, zzz17322, zzz17323, zzz17324, h, ba)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primEqNat(Succ(zzz798000), Succ(zzz804000)) → new_primEqNat(zzz798000, zzz804000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primCmpNat(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat(zzz79800, zzz80400)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primMinusNat(Succ(zzz1141200), Succ(zzz122800)) → new_primMinusNat(zzz1141200, zzz122800)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primPlusNat(Succ(zzz107500), Succ(zzz8040000)) → new_primPlusNat(zzz107500, zzz8040000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primMulNat(Succ(zzz798000), Succ(zzz804000)) → new_primMulNat(zzz798000, Succ(zzz804000))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_esEs1(Left(zzz79800), Left(zzz80400), app(app(ty_@2, hb), hc), ge) → new_esEs3(zzz79800, zzz80400, hb, hc)
new_esEs0(@3(zzz79800, zzz79801, zzz79802), @3(zzz80400, zzz80401, zzz80402), cb, cc, app(app(ty_Either, cg), da)) → new_esEs1(zzz79802, zzz80402, cg, da)
new_esEs0(@3(zzz79800, zzz79801, zzz79802), @3(zzz80400, zzz80401, zzz80402), cb, cc, app(app(ty_@2, dd), de)) → new_esEs3(zzz79802, zzz80402, dd, de)
new_esEs2(Just(zzz79800), Just(zzz80400), app(ty_[], bbd)) → new_esEs(zzz79800, zzz80400, bbd)
new_esEs3(@2(zzz79800, zzz79801), @2(zzz80400, zzz80401), bbg, app(ty_Maybe, bce)) → new_esEs2(zzz79801, zzz80401, bce)
new_esEs3(@2(zzz79800, zzz79801), @2(zzz80400, zzz80401), app(app(ty_Either, bde), bdf), bdd) → new_esEs1(zzz79800, zzz80400, bde, bdf)
new_esEs1(Left(zzz79800), Left(zzz80400), app(app(app(ty_@3, gb), gc), gd), ge) → new_esEs0(zzz79800, zzz80400, gb, gc, gd)
new_esEs0(@3(zzz79800, zzz79801, zzz79802), @3(zzz80400, zzz80401, zzz80402), app(ty_Maybe, ff), cc, ea) → new_esEs2(zzz79800, zzz80400, ff)
new_esEs0(@3(zzz79800, zzz79801, zzz79802), @3(zzz80400, zzz80401, zzz80402), app(app(ty_Either, fc), fd), cc, ea) → new_esEs1(zzz79800, zzz80400, fc, fd)
new_esEs0(@3(zzz79800, zzz79801, zzz79802), @3(zzz80400, zzz80401, zzz80402), cb, cc, app(ty_Maybe, db)) → new_esEs2(zzz79802, zzz80402, db)
new_esEs1(Right(zzz79800), Right(zzz80400), hd, app(app(app(ty_@3, he), hf), hg)) → new_esEs0(zzz79800, zzz80400, he, hf, hg)
new_esEs3(@2(zzz79800, zzz79801), @2(zzz80400, zzz80401), app(ty_[], bdh), bdd) → new_esEs(zzz79800, zzz80400, bdh)
new_esEs3(@2(zzz79800, zzz79801), @2(zzz80400, zzz80401), app(app(app(ty_@3, bda), bdb), bdc), bdd) → new_esEs0(zzz79800, zzz80400, bda, bdb, bdc)
new_esEs1(Left(zzz79800), Left(zzz80400), app(app(ty_Either, gf), gg), ge) → new_esEs1(zzz79800, zzz80400, gf, gg)
new_esEs2(Just(zzz79800), Just(zzz80400), app(ty_Maybe, bbc)) → new_esEs2(zzz79800, zzz80400, bbc)
new_esEs1(Right(zzz79800), Right(zzz80400), hd, app(app(ty_Either, hh), baa)) → new_esEs1(zzz79800, zzz80400, hh, baa)
new_esEs0(@3(zzz79800, zzz79801, zzz79802), @3(zzz80400, zzz80401, zzz80402), cb, app(app(app(ty_@3, df), dg), dh), ea) → new_esEs0(zzz79801, zzz80401, df, dg, dh)
new_esEs0(@3(zzz79800, zzz79801, zzz79802), @3(zzz80400, zzz80401, zzz80402), cb, cc, app(ty_[], dc)) → new_esEs(zzz79802, zzz80402, dc)
new_esEs0(@3(zzz79800, zzz79801, zzz79802), @3(zzz80400, zzz80401, zzz80402), cb, app(app(ty_Either, eb), ec), ea) → new_esEs1(zzz79801, zzz80401, eb, ec)
new_esEs(:(zzz79800, zzz79801), :(zzz80400, zzz80401), app(ty_Maybe, bf)) → new_esEs2(zzz79800, zzz80400, bf)
new_esEs0(@3(zzz79800, zzz79801, zzz79802), @3(zzz80400, zzz80401, zzz80402), cb, app(app(ty_@2, ef), eg), ea) → new_esEs3(zzz79801, zzz80401, ef, eg)
new_esEs3(@2(zzz79800, zzz79801), @2(zzz80400, zzz80401), bbg, app(ty_[], bcf)) → new_esEs(zzz79801, zzz80401, bcf)
new_esEs3(@2(zzz79800, zzz79801), @2(zzz80400, zzz80401), bbg, app(app(ty_@2, bcg), bch)) → new_esEs3(zzz79801, zzz80401, bcg, bch)
new_esEs2(Just(zzz79800), Just(zzz80400), app(app(app(ty_@3, baf), bag), bah)) → new_esEs0(zzz79800, zzz80400, baf, bag, bah)
new_esEs0(@3(zzz79800, zzz79801, zzz79802), @3(zzz80400, zzz80401, zzz80402), app(app(ty_@2, fh), ga), cc, ea) → new_esEs3(zzz79800, zzz80400, fh, ga)
new_esEs2(Just(zzz79800), Just(zzz80400), app(app(ty_Either, bba), bbb)) → new_esEs1(zzz79800, zzz80400, bba, bbb)
new_esEs0(@3(zzz79800, zzz79801, zzz79802), @3(zzz80400, zzz80401, zzz80402), app(ty_[], fg), cc, ea) → new_esEs(zzz79800, zzz80400, fg)
new_esEs(:(zzz79800, zzz79801), :(zzz80400, zzz80401), h) → new_esEs(zzz79801, zzz80401, h)
new_esEs3(@2(zzz79800, zzz79801), @2(zzz80400, zzz80401), app(ty_Maybe, bdg), bdd) → new_esEs2(zzz79800, zzz80400, bdg)
new_esEs3(@2(zzz79800, zzz79801), @2(zzz80400, zzz80401), bbg, app(app(ty_Either, bcc), bcd)) → new_esEs1(zzz79801, zzz80401, bcc, bcd)
new_esEs0(@3(zzz79800, zzz79801, zzz79802), @3(zzz80400, zzz80401, zzz80402), cb, cc, app(app(app(ty_@3, cd), ce), cf)) → new_esEs0(zzz79802, zzz80402, cd, ce, cf)
new_esEs0(@3(zzz79800, zzz79801, zzz79802), @3(zzz80400, zzz80401, zzz80402), cb, app(ty_[], ee), ea) → new_esEs(zzz79801, zzz80401, ee)
new_esEs1(Left(zzz79800), Left(zzz80400), app(ty_Maybe, gh), ge) → new_esEs2(zzz79800, zzz80400, gh)
new_esEs3(@2(zzz79800, zzz79801), @2(zzz80400, zzz80401), app(app(ty_@2, bea), beb), bdd) → new_esEs3(zzz79800, zzz80400, bea, beb)
new_esEs(:(zzz79800, zzz79801), :(zzz80400, zzz80401), app(app(app(ty_@3, ba), bb), bc)) → new_esEs0(zzz79800, zzz80400, ba, bb, bc)
new_esEs(:(zzz79800, zzz79801), :(zzz80400, zzz80401), app(app(ty_@2, bh), ca)) → new_esEs3(zzz79800, zzz80400, bh, ca)
new_esEs2(Just(zzz79800), Just(zzz80400), app(app(ty_@2, bbe), bbf)) → new_esEs3(zzz79800, zzz80400, bbe, bbf)
new_esEs3(@2(zzz79800, zzz79801), @2(zzz80400, zzz80401), bbg, app(app(app(ty_@3, bbh), bca), bcb)) → new_esEs0(zzz79801, zzz80401, bbh, bca, bcb)
new_esEs(:(zzz79800, zzz79801), :(zzz80400, zzz80401), app(app(ty_Either, bd), be)) → new_esEs1(zzz79800, zzz80400, bd, be)
new_esEs1(Right(zzz79800), Right(zzz80400), hd, app(ty_[], bac)) → new_esEs(zzz79800, zzz80400, bac)
new_esEs1(Left(zzz79800), Left(zzz80400), app(ty_[], ha), ge) → new_esEs(zzz79800, zzz80400, ha)
new_esEs1(Right(zzz79800), Right(zzz80400), hd, app(app(ty_@2, bad), bae)) → new_esEs3(zzz79800, zzz80400, bad, bae)
new_esEs0(@3(zzz79800, zzz79801, zzz79802), @3(zzz80400, zzz80401, zzz80402), cb, app(ty_Maybe, ed), ea) → new_esEs2(zzz79801, zzz80401, ed)
new_esEs1(Right(zzz79800), Right(zzz80400), hd, app(ty_Maybe, bab)) → new_esEs2(zzz79800, zzz80400, bab)
new_esEs(:(zzz79800, zzz79801), :(zzz80400, zzz80401), app(ty_[], bg)) → new_esEs(zzz79800, zzz80400, bg)
new_esEs0(@3(zzz79800, zzz79801, zzz79802), @3(zzz80400, zzz80401, zzz80402), app(app(app(ty_@3, eh), fa), fb), cc, ea) → new_esEs0(zzz79800, zzz80400, eh, fa, fb)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_compare20(Right(zzz8880), Right(zzz8890), False, app(app(ty_Either, eh), app(app(ty_Either, fc), fd))) → new_ltEs1(zzz8880, zzz8890, fc, fd)
new_compare20(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), False, app(app(app(ty_@3, gc), app(ty_[], hh)), hg)) → new_lt0(zzz8881, zzz8891, hh)
new_compare20(Left(zzz8880), Left(zzz8890), False, app(app(ty_Either, app(app(ty_@2, ef), eg)), dg)) → new_ltEs3(zzz8880, zzz8890, ef, eg)
new_compare20(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), False, app(app(app(ty_@3, gc), gd), app(app(app(ty_@3, ha), hb), hc))) → new_ltEs2(zzz8882, zzz8892, ha, hb, hc)
new_compare20(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), False, app(app(ty_@2, bca), app(ty_Maybe, bcb))) → new_ltEs(zzz8881, zzz8891, bcb)
new_compare20(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), False, app(app(app(ty_@3, gc), gd), app(ty_Maybe, ge))) → new_ltEs(zzz8882, zzz8892, ge)
new_compare20(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), False, app(app(app(ty_@3, app(ty_Maybe, bah)), gd), hg)) → new_lt(zzz8880, zzz8890, bah)
new_compare22(zzz907, zzz908, False, bga, app(app(ty_@2, bha), bhb)) → new_ltEs3(zzz907, zzz908, bha, bhb)
new_compare20(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), False, app(app(ty_@2, app(app(ty_Either, bdf), bdg)), bdd)) → new_lt1(zzz8880, zzz8890, bdf, bdg)
new_ltEs1(Left(zzz8880), Left(zzz8890), app(app(ty_Either, ea), eb), dg) → new_ltEs1(zzz8880, zzz8890, ea, eb)
new_compare23(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, False, bhf, app(app(app(ty_@3, cbf), cbg), cbh), cbb) → new_lt2(zzz949, zzz952, cbf, cbg, cbh)
new_compare23(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, False, app(app(app(ty_@3, ccg), cch), cda), bhg, cbb) → new_lt2(zzz948, zzz951, ccg, cch, cda)
new_compare24(zzz961, zzz962, zzz963, zzz964, False, ceh, app(app(app(ty_@3, cfe), cff), cfg)) → new_ltEs2(zzz962, zzz964, cfe, cff, cfg)
new_ltEs(Just(zzz8880), Just(zzz8890), app(ty_[], ba)) → new_ltEs0(zzz8880, zzz8890, ba)
new_ltEs2(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), app(app(ty_Either, bbb), bbc), gd, hg) → new_lt1(zzz8880, zzz8890, bbb, bbc)
new_ltEs2(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), gc, app(app(app(ty_@3, bac), bad), bae), hg) → new_lt2(zzz8881, zzz8891, bac, bad, bae)
new_compare3(@3(zzz7980, zzz7981, zzz7982), @3(zzz8040, zzz8041, zzz8042), bhc, bhd, bhe) → new_compare23(zzz7980, zzz7981, zzz7982, zzz8040, zzz8041, zzz8042, new_asAs(new_esEs9(zzz7980, zzz8040, bhc), new_asAs(new_esEs8(zzz7981, zzz8041, bhd), new_esEs7(zzz7982, zzz8042, bhe))), bhc, bhd, bhe)
new_compare20(Right(zzz8880), Right(zzz8890), False, app(app(ty_Either, eh), app(app(ty_@2, ga), gb))) → new_ltEs3(zzz8880, zzz8890, ga, gb)
new_compare20(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), False, app(app(app(ty_@3, app(ty_[], bba)), gd), hg)) → new_lt0(zzz8880, zzz8890, bba)
new_compare23(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, False, bhf, bhg, app(app(ty_@2, cag), cah)) → new_ltEs3(zzz950, zzz953, cag, cah)
new_compare20(Right(zzz8880), Right(zzz8890), False, app(app(ty_Either, eh), app(ty_[], fb))) → new_ltEs0(zzz8880, zzz8890, fb)
new_primCompAux(zzz7980, zzz8040, zzz883, app(ty_[], cd)) → new_compare(zzz7980, zzz8040, cd)
new_lt0(:(zzz7980, zzz7981), :(zzz8040, zzz8041), cb) → new_primCompAux(zzz7980, zzz8040, new_compare0(zzz7981, zzz8041, cb), cb)
new_compare20(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), False, app(app(app(ty_@3, app(app(ty_@2, bbg), bbh)), gd), hg)) → new_lt3(zzz8880, zzz8890, bbg, bbh)
new_lt1(Left(zzz7980), Left(zzz8040), bee, bef) → new_compare21(zzz7980, zzz8040, new_esEs5(zzz7980, zzz8040, bee), bee, bef)
new_compare1(Just(zzz7980), Just(zzz8040), de) → new_compare20(zzz7980, zzz8040, new_esEs4(zzz7980, zzz8040, de), de)
new_compare20(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), False, app(app(ty_@2, bca), app(app(ty_Either, bcd), bce))) → new_ltEs1(zzz8881, zzz8891, bcd, bce)
new_ltEs2(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), gc, gd, app(ty_Maybe, ge)) → new_ltEs(zzz8882, zzz8892, ge)
new_compare20(zzz888, zzz889, False, app(ty_[], ca)) → new_compare(zzz888, zzz889, ca)
new_ltEs3(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), bca, app(app(ty_@2, bda), bdb)) → new_ltEs3(zzz8881, zzz8891, bda, bdb)
new_ltEs3(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), bca, app(app(ty_Either, bcd), bce)) → new_ltEs1(zzz8881, zzz8891, bcd, bce)
new_compare20(Left(zzz8880), Left(zzz8890), False, app(app(ty_Either, app(app(app(ty_@3, ec), ed), ee)), dg)) → new_ltEs2(zzz8880, zzz8890, ec, ed, ee)
new_ltEs1(Left(zzz8880), Left(zzz8890), app(ty_Maybe, df), dg) → new_ltEs(zzz8880, zzz8890, df)
new_ltEs1(Right(zzz8880), Right(zzz8890), eh, app(app(app(ty_@3, ff), fg), fh)) → new_ltEs2(zzz8880, zzz8890, ff, fg, fh)
new_compare20(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), False, app(app(ty_@2, bca), app(ty_[], bcc))) → new_ltEs0(zzz8881, zzz8891, bcc)
new_compare23(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, False, bhf, bhg, app(app(app(ty_@3, cad), cae), caf)) → new_ltEs2(zzz950, zzz953, cad, cae, caf)
new_compare20(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), False, app(app(ty_@2, app(ty_[], bde)), bdd)) → new_lt0(zzz8880, zzz8890, bde)
new_ltEs3(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), app(app(ty_@2, bec), bed), bdd) → new_lt3(zzz8880, zzz8890, bec, bed)
new_lt3(@2(zzz7980, zzz7981), @2(zzz8040, zzz8041), cdd, cde) → new_compare24(zzz7980, zzz7981, zzz8040, zzz8041, new_asAs(new_esEs11(zzz7980, zzz8040, cdd), new_esEs10(zzz7981, zzz8041, cde)), cdd, cde)
new_ltEs(Just(zzz8880), Just(zzz8890), app(app(app(ty_@3, bd), be), bf)) → new_ltEs2(zzz8880, zzz8890, bd, be, bf)
new_compare21(zzz900, zzz901, False, app(ty_[], bfa), beh) → new_ltEs0(zzz900, zzz901, bfa)
new_compare23(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, False, bhf, app(app(ty_@2, cca), ccb), cbb) → new_lt3(zzz949, zzz952, cca, ccb)
new_compare24(zzz961, zzz962, zzz963, zzz964, False, ceh, app(ty_[], cfb)) → new_ltEs0(zzz962, zzz964, cfb)
new_primCompAux(zzz7980, zzz8040, zzz883, app(ty_Maybe, cc)) → new_compare1(zzz7980, zzz8040, cc)
new_primCompAux(zzz7980, zzz8040, zzz883, app(app(app(ty_@3, cg), da), db)) → new_compare3(zzz7980, zzz8040, cg, da, db)
new_compare21(zzz900, zzz901, False, app(app(ty_Either, bfb), bfc), beh) → new_ltEs1(zzz900, zzz901, bfb, bfc)
new_ltEs2(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), gc, app(ty_Maybe, hf), hg) → new_lt(zzz8881, zzz8891, hf)
new_compare20(Left(zzz8880), Left(zzz8890), False, app(app(ty_Either, app(app(ty_Either, ea), eb)), dg)) → new_ltEs1(zzz8880, zzz8890, ea, eb)
new_ltEs2(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), app(ty_[], bba), gd, hg) → new_lt0(zzz8880, zzz8890, bba)
new_ltEs1(Right(zzz8880), Right(zzz8890), eh, app(app(ty_Either, fc), fd)) → new_ltEs1(zzz8880, zzz8890, fc, fd)
new_compare20(Just(zzz8880), Just(zzz8890), False, app(ty_Maybe, app(app(ty_@2, bg), bh))) → new_ltEs3(zzz8880, zzz8890, bg, bh)
new_compare20(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), False, app(app(app(ty_@3, gc), app(app(ty_Either, baa), bab)), hg)) → new_lt1(zzz8881, zzz8891, baa, bab)
new_compare20(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), False, app(app(ty_@2, bca), app(app(app(ty_@3, bcf), bcg), bch))) → new_ltEs2(zzz8881, zzz8891, bcf, bcg, bch)
new_compare20(Just(zzz8880), Just(zzz8890), False, app(ty_Maybe, app(app(app(ty_@3, bd), be), bf))) → new_ltEs2(zzz8880, zzz8890, bd, be, bf)
new_ltEs2(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), gc, app(ty_[], hh), hg) → new_lt0(zzz8881, zzz8891, hh)
new_compare23(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, False, app(app(ty_@2, cdb), cdc), bhg, cbb) → new_lt3(zzz948, zzz951, cdb, cdc)
new_ltEs2(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), gc, app(app(ty_@2, baf), bag), hg) → new_lt3(zzz8881, zzz8891, baf, bag)
new_compare2(Right(zzz7980), Right(zzz8040), bee, bef) → new_compare22(zzz7980, zzz8040, new_esEs6(zzz7980, zzz8040, bef), bee, bef)
new_compare24(zzz961, zzz962, zzz963, zzz964, False, ceh, app(app(ty_Either, cfc), cfd)) → new_ltEs1(zzz962, zzz964, cfc, cfd)
new_compare20(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), False, app(app(app(ty_@3, gc), gd), app(ty_[], gf))) → new_ltEs0(zzz8882, zzz8892, gf)
new_compare21(zzz900, zzz901, False, app(app(app(ty_@3, bfd), bfe), bff), beh) → new_ltEs2(zzz900, zzz901, bfd, bfe, bff)
new_compare23(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, False, app(app(ty_Either, cce), ccf), bhg, cbb) → new_lt1(zzz948, zzz951, cce, ccf)
new_ltEs3(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), app(ty_[], bde), bdd) → new_lt0(zzz8880, zzz8890, bde)
new_compare20(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), False, app(app(app(ty_@3, gc), app(ty_Maybe, hf)), hg)) → new_lt(zzz8881, zzz8891, hf)
new_ltEs1(Left(zzz8880), Left(zzz8890), app(ty_[], dh), dg) → new_ltEs0(zzz8880, zzz8890, dh)
new_compare21(zzz900, zzz901, False, app(app(ty_@2, bfg), bfh), beh) → new_ltEs3(zzz900, zzz901, bfg, bfh)
new_compare2(Left(zzz7980), Left(zzz8040), bee, bef) → new_compare21(zzz7980, zzz8040, new_esEs5(zzz7980, zzz8040, bee), bee, bef)
new_ltEs0(zzz888, zzz889, ca) → new_compare(zzz888, zzz889, ca)
new_lt1(Right(zzz7980), Right(zzz8040), bee, bef) → new_compare22(zzz7980, zzz8040, new_esEs6(zzz7980, zzz8040, bef), bee, bef)
new_ltEs2(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), gc, gd, app(app(app(ty_@3, ha), hb), hc)) → new_ltEs2(zzz8882, zzz8892, ha, hb, hc)
new_ltEs2(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), gc, gd, app(ty_[], gf)) → new_ltEs0(zzz8882, zzz8892, gf)
new_compare24(zzz961, zzz962, zzz963, zzz964, False, app(ty_Maybe, cdf), cdg) → new_lt(zzz961, zzz963, cdf)
new_compare4(@2(zzz7980, zzz7981), @2(zzz8040, zzz8041), cdd, cde) → new_compare24(zzz7980, zzz7981, zzz8040, zzz8041, new_asAs(new_esEs11(zzz7980, zzz8040, cdd), new_esEs10(zzz7981, zzz8041, cde)), cdd, cde)
new_compare20(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), False, app(app(app(ty_@3, gc), gd), app(app(ty_@2, hd), he))) → new_ltEs3(zzz8882, zzz8892, hd, he)
new_compare20(Right(zzz8880), Right(zzz8890), False, app(app(ty_Either, eh), app(ty_Maybe, fa))) → new_ltEs(zzz8880, zzz8890, fa)
new_compare22(zzz907, zzz908, False, bga, app(ty_Maybe, bgb)) → new_ltEs(zzz907, zzz908, bgb)
new_compare24(zzz961, zzz962, zzz963, zzz964, False, app(app(app(ty_@3, cec), ced), cee), cdg) → new_lt2(zzz961, zzz963, cec, ced, cee)
new_compare20(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), False, app(app(ty_@2, app(app(ty_@2, bec), bed)), bdd)) → new_lt3(zzz8880, zzz8890, bec, bed)
new_lt(Just(zzz7980), Just(zzz8040), de) → new_compare20(zzz7980, zzz8040, new_esEs4(zzz7980, zzz8040, de), de)
new_ltEs2(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), gc, gd, app(app(ty_Either, gg), gh)) → new_ltEs1(zzz8882, zzz8892, gg, gh)
new_lt0(:(zzz7980, zzz7981), :(zzz8040, zzz8041), cb) → new_compare(zzz7981, zzz8041, cb)
new_compare23(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, False, bhf, app(ty_Maybe, cba), cbb) → new_lt(zzz949, zzz952, cba)
new_compare22(zzz907, zzz908, False, bga, app(app(app(ty_@3, bgf), bgg), bgh)) → new_ltEs2(zzz907, zzz908, bgf, bgg, bgh)
new_ltEs2(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), gc, app(app(ty_Either, baa), bab), hg) → new_lt1(zzz8881, zzz8891, baa, bab)
new_ltEs(Just(zzz8880), Just(zzz8890), app(ty_Maybe, h)) → new_ltEs(zzz8880, zzz8890, h)
new_ltEs1(Left(zzz8880), Left(zzz8890), app(app(app(ty_@3, ec), ed), ee), dg) → new_ltEs2(zzz8880, zzz8890, ec, ed, ee)
new_compare23(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, False, bhf, app(app(ty_Either, cbd), cbe), cbb) → new_lt1(zzz949, zzz952, cbd, cbe)
new_compare20(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), False, app(app(app(ty_@3, gc), app(app(ty_@2, baf), bag)), hg)) → new_lt3(zzz8881, zzz8891, baf, bag)
new_lt2(@3(zzz7980, zzz7981, zzz7982), @3(zzz8040, zzz8041, zzz8042), bhc, bhd, bhe) → new_compare23(zzz7980, zzz7981, zzz7982, zzz8040, zzz8041, zzz8042, new_asAs(new_esEs9(zzz7980, zzz8040, bhc), new_asAs(new_esEs8(zzz7981, zzz8041, bhd), new_esEs7(zzz7982, zzz8042, bhe))), bhc, bhd, bhe)
new_ltEs3(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), bca, app(ty_Maybe, bcb)) → new_ltEs(zzz8881, zzz8891, bcb)
new_ltEs3(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), app(app(ty_Either, bdf), bdg), bdd) → new_lt1(zzz8880, zzz8890, bdf, bdg)
new_compare23(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, False, app(ty_[], ccd), bhg, cbb) → new_lt0(zzz948, zzz951, ccd)
new_compare20(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), False, app(app(app(ty_@3, gc), gd), app(app(ty_Either, gg), gh))) → new_ltEs1(zzz8882, zzz8892, gg, gh)
new_compare20(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), False, app(app(ty_@2, bca), app(app(ty_@2, bda), bdb))) → new_ltEs3(zzz8881, zzz8891, bda, bdb)
new_compare24(zzz961, zzz962, zzz963, zzz964, False, app(app(ty_Either, cea), ceb), cdg) → new_lt1(zzz961, zzz963, cea, ceb)
new_ltEs2(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), gc, gd, app(app(ty_@2, hd), he)) → new_ltEs3(zzz8882, zzz8892, hd, he)
new_primCompAux(zzz7980, zzz8040, zzz883, app(app(ty_Either, ce), cf)) → new_compare2(zzz7980, zzz8040, ce, cf)
new_compare20(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), False, app(app(app(ty_@3, gc), app(app(app(ty_@3, bac), bad), bae)), hg)) → new_lt2(zzz8881, zzz8891, bac, bad, bae)
new_compare23(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, False, bhf, app(ty_[], cbc), cbb) → new_lt0(zzz949, zzz952, cbc)
new_compare24(zzz961, zzz962, zzz963, zzz964, False, app(app(ty_@2, cef), ceg), cdg) → new_lt3(zzz961, zzz963, cef, ceg)
new_compare24(zzz961, zzz962, zzz963, zzz964, False, ceh, app(app(ty_@2, cfh), cga)) → new_ltEs3(zzz962, zzz964, cfh, cga)
new_ltEs2(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), app(app(ty_@2, bbg), bbh), gd, hg) → new_lt3(zzz8880, zzz8890, bbg, bbh)
new_ltEs1(Right(zzz8880), Right(zzz8890), eh, app(ty_Maybe, fa)) → new_ltEs(zzz8880, zzz8890, fa)
new_ltEs3(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), bca, app(app(app(ty_@3, bcf), bcg), bch)) → new_ltEs2(zzz8881, zzz8891, bcf, bcg, bch)
new_compare20(Just(zzz8880), Just(zzz8890), False, app(ty_Maybe, app(app(ty_Either, bb), bc))) → new_ltEs1(zzz8880, zzz8890, bb, bc)
new_ltEs3(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), app(app(app(ty_@3, bdh), bea), beb), bdd) → new_lt2(zzz8880, zzz8890, bdh, bea, beb)
new_ltEs(Just(zzz8880), Just(zzz8890), app(app(ty_@2, bg), bh)) → new_ltEs3(zzz8880, zzz8890, bg, bh)
new_compare23(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, False, bhf, bhg, app(app(ty_Either, cab), cac)) → new_ltEs1(zzz950, zzz953, cab, cac)
new_ltEs1(Right(zzz8880), Right(zzz8890), eh, app(app(ty_@2, ga), gb)) → new_ltEs3(zzz8880, zzz8890, ga, gb)
new_ltEs(Just(zzz8880), Just(zzz8890), app(app(ty_Either, bb), bc)) → new_ltEs1(zzz8880, zzz8890, bb, bc)
new_compare20(Left(zzz8880), Left(zzz8890), False, app(app(ty_Either, app(ty_[], dh)), dg)) → new_ltEs0(zzz8880, zzz8890, dh)
new_compare24(zzz961, zzz962, zzz963, zzz964, False, ceh, app(ty_Maybe, cfa)) → new_ltEs(zzz962, zzz964, cfa)
new_compare(:(zzz7980, zzz7981), :(zzz8040, zzz8041), cb) → new_compare(zzz7981, zzz8041, cb)
new_ltEs2(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), app(ty_Maybe, bah), gd, hg) → new_lt(zzz8880, zzz8890, bah)
new_compare22(zzz907, zzz908, False, bga, app(ty_[], bgc)) → new_ltEs0(zzz907, zzz908, bgc)
new_compare(:(zzz7980, zzz7981), :(zzz8040, zzz8041), cb) → new_primCompAux(zzz7980, zzz8040, new_compare0(zzz7981, zzz8041, cb), cb)
new_compare20(Just(zzz8880), Just(zzz8890), False, app(ty_Maybe, app(ty_[], ba))) → new_ltEs0(zzz8880, zzz8890, ba)
new_ltEs2(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), app(app(app(ty_@3, bbd), bbe), bbf), gd, hg) → new_lt2(zzz8880, zzz8890, bbd, bbe, bbf)
new_compare20(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), False, app(app(ty_@2, app(app(app(ty_@3, bdh), bea), beb)), bdd)) → new_lt2(zzz8880, zzz8890, bdh, bea, beb)
new_primCompAux(zzz7980, zzz8040, zzz883, app(app(ty_@2, dc), dd)) → new_compare4(zzz7980, zzz8040, dc, dd)
new_compare20(Just(zzz8880), Just(zzz8890), False, app(ty_Maybe, app(ty_Maybe, h))) → new_ltEs(zzz8880, zzz8890, h)
new_compare20(Left(zzz8880), Left(zzz8890), False, app(app(ty_Either, app(ty_Maybe, df)), dg)) → new_ltEs(zzz8880, zzz8890, df)
new_compare20(Right(zzz8880), Right(zzz8890), False, app(app(ty_Either, eh), app(app(app(ty_@3, ff), fg), fh))) → new_ltEs2(zzz8880, zzz8890, ff, fg, fh)
new_compare20(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), False, app(app(app(ty_@3, app(app(ty_Either, bbb), bbc)), gd), hg)) → new_lt1(zzz8880, zzz8890, bbb, bbc)
new_compare23(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, False, bhf, bhg, app(ty_[], caa)) → new_ltEs0(zzz950, zzz953, caa)
new_ltEs3(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), app(ty_Maybe, bdc), bdd) → new_lt(zzz8880, zzz8890, bdc)
new_compare22(zzz907, zzz908, False, bga, app(app(ty_Either, bgd), bge)) → new_ltEs1(zzz907, zzz908, bgd, bge)
new_compare23(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, False, bhf, bhg, app(ty_Maybe, bhh)) → new_ltEs(zzz950, zzz953, bhh)
new_compare24(zzz961, zzz962, zzz963, zzz964, False, app(ty_[], cdh), cdg) → new_lt0(zzz961, zzz963, cdh)
new_ltEs3(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), bca, app(ty_[], bcc)) → new_ltEs0(zzz8881, zzz8891, bcc)
new_ltEs1(Right(zzz8880), Right(zzz8890), eh, app(ty_[], fb)) → new_ltEs0(zzz8880, zzz8890, fb)
new_compare20(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), False, app(app(app(ty_@3, app(app(app(ty_@3, bbd), bbe), bbf)), gd), hg)) → new_lt2(zzz8880, zzz8890, bbd, bbe, bbf)
new_compare21(zzz900, zzz901, False, app(ty_Maybe, beg), beh) → new_ltEs(zzz900, zzz901, beg)
new_ltEs1(Left(zzz8880), Left(zzz8890), app(app(ty_@2, ef), eg), dg) → new_ltEs3(zzz8880, zzz8890, ef, eg)
new_compare20(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), False, app(app(ty_@2, app(ty_Maybe, bdc)), bdd)) → new_lt(zzz8880, zzz8890, bdc)
new_compare23(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, False, app(ty_Maybe, ccc), bhg, cbb) → new_lt(zzz948, zzz951, ccc)

The TRS R consists of the following rules:

new_esEs27(@0, @0) → True
new_lt15(zzz798, zzz804) → new_esEs12(new_compare17(zzz798, zzz804))
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Ordering, dg) → new_ltEs16(zzz8880, zzz8890)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Double) → new_ltEs7(zzz8880, zzz8890)
new_ltEs19(zzz950, zzz953, ty_Ordering) → new_ltEs16(zzz950, zzz953)
new_lt22(zzz961, zzz963, ty_Int) → new_lt9(zzz961, zzz963)
new_esEs35(zzz948, zzz951, ty_Int) → new_esEs28(zzz948, zzz951)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Double, fcf) → new_esEs25(zzz79800, zzz80400)
new_esEs18(Char(zzz79800), Char(zzz80400)) → new_primEqNat0(zzz79800, zzz80400)
new_ltEs15(True, False) → False
new_ltEs16(GT, GT) → True
new_esEs30(zzz8880, zzz8890, ty_Double) → new_esEs25(zzz8880, zzz8890)
new_compare7(Left(zzz7980), Right(zzz8040), bee, bef) → LT
new_ltEs5(zzz8882, zzz8892, app(app(ty_Either, gg), gh)) → new_ltEs10(zzz8882, zzz8892, gg, gh)
new_ltEs24(zzz8881, zzz8891, app(app(app(ty_@3, bcf), bcg), bch)) → new_ltEs4(zzz8881, zzz8891, bcf, bcg, bch)
new_lt12(zzz798, zzz804) → new_esEs12(new_compare16(zzz798, zzz804))
new_esEs8(zzz7981, zzz8041, ty_Double) → new_esEs25(zzz7981, zzz8041)
new_ltEs21(zzz888, zzz889, app(ty_[], ca)) → new_ltEs9(zzz888, zzz889, ca)
new_esEs10(zzz7981, zzz8041, ty_Int) → new_esEs28(zzz7981, zzz8041)
new_esEs5(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_esEs9(zzz7980, zzz8040, app(app(ty_@2, ehd), ehe)) → new_esEs13(zzz7980, zzz8040, ehd, ehe)
new_ltEs19(zzz950, zzz953, app(ty_[], caa)) → new_ltEs9(zzz950, zzz953, caa)
new_lt14(zzz798, zzz804) → new_esEs12(new_compare13(zzz798, zzz804))
new_compare19(Double(zzz7980, zzz7981), Double(zzz8040, zzz8041)) → new_compare14(new_sr(zzz7980, zzz8040), new_sr(zzz7981, zzz8041))
new_ltEs10(Left(zzz8880), Right(zzz8890), eh, dg) → True
new_compare11(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, True, zzz1033, fbg, fbh, fca) → new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, True, fbg, fbh, fca)
new_esEs14(zzz79801, zzz80401, app(ty_Maybe, chb)) → new_esEs21(zzz79801, zzz80401, chb)
new_compare10(zzz984, zzz985, True, dgd, dge) → LT
new_esEs14(zzz79801, zzz80401, ty_Bool) → new_esEs23(zzz79801, zzz80401)
new_esEs11(zzz7980, zzz8040, app(ty_Maybe, dfh)) → new_esEs21(zzz7980, zzz8040, dfh)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_esEs21(Just(zzz79800), Just(zzz80400), app(app(app(ty_@3, dba), dbb), dbc)) → new_esEs16(zzz79800, zzz80400, dba, dbb, dbc)
new_esEs32(zzz79801, zzz80401, ty_@0) → new_esEs27(zzz79801, zzz80401)
new_esEs32(zzz79801, zzz80401, app(app(app(ty_@3, eac), ead), eae)) → new_esEs16(zzz79801, zzz80401, eac, ead, eae)
new_esEs37(zzz961, zzz963, app(app(ty_@2, cef), ceg)) → new_esEs13(zzz961, zzz963, cef, ceg)
new_esEs11(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_ltEs16(LT, GT) → True
new_ltEs21(zzz888, zzz889, app(ty_Maybe, edf)) → new_ltEs6(zzz888, zzz889, edf)
new_lt21(zzz948, zzz951, app(ty_Maybe, ccc)) → new_lt7(zzz948, zzz951, ccc)
new_ltEs10(Right(zzz8880), Right(zzz8890), eh, ty_Float) → new_ltEs11(zzz8880, zzz8890)
new_ltEs19(zzz950, zzz953, ty_Float) → new_ltEs11(zzz950, zzz953)
new_lt23(zzz8880, zzz8890, ty_Char) → new_lt13(zzz8880, zzz8890)
new_ltEs6(Nothing, Just(zzz8890), edf) → True
new_compare31(zzz7980, zzz8040, ty_Double) → new_compare19(zzz7980, zzz8040)
new_esEs32(zzz79801, zzz80401, ty_Integer) → new_esEs26(zzz79801, zzz80401)
new_esEs15(zzz79800, zzz80400, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_esEs9(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_ltEs22(zzz900, zzz901, app(app(ty_Either, bfb), bfc)) → new_ltEs10(zzz900, zzz901, bfb, bfc)
new_esEs20(Left(zzz79800), Right(zzz80400), fce, fcf) → False
new_esEs20(Right(zzz79800), Left(zzz80400), fce, fcf) → False
new_ltEs20(zzz907, zzz908, ty_Double) → new_ltEs7(zzz907, zzz908)
new_esEs9(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_lt11(zzz798, zzz804, bee, bef) → new_esEs12(new_compare7(zzz798, zzz804, bee, bef))
new_esEs36(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs29(zzz8881, zzz8891, app(ty_[], hh)) → new_esEs22(zzz8881, zzz8891, hh)
new_primMulNat0(Zero, Zero) → Zero
new_lt6(zzz8880, zzz8890, ty_Bool) → new_lt4(zzz8880, zzz8890)
new_ltEs10(Right(zzz8880), Right(zzz8890), eh, app(ty_[], fb)) → new_ltEs9(zzz8880, zzz8890, fb)
new_esEs32(zzz79801, zzz80401, app(app(ty_Either, eag), eah)) → new_esEs20(zzz79801, zzz80401, eag, eah)
new_esEs11(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_compare16(Float(zzz7980, zzz7981), Float(zzz8040, zzz8041)) → new_compare14(new_sr(zzz7980, zzz8040), new_sr(zzz7981, zzz8041))
new_esEs11(zzz7980, zzz8040, app(ty_Ratio, dfe)) → new_esEs17(zzz7980, zzz8040, dfe)
new_esEs38(zzz8880, zzz8890, ty_Bool) → new_esEs23(zzz8880, zzz8890)
new_esEs4(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_esEs10(zzz7981, zzz8041, app(app(app(ty_@3, ffd), ffe), fff)) → new_esEs16(zzz7981, zzz8041, ffd, ffe, fff)
new_esEs4(zzz7980, zzz8040, app(ty_Maybe, dah)) → new_esEs21(zzz7980, zzz8040, dah)
new_esEs4(zzz7980, zzz8040, app(ty_[], ehh)) → new_esEs22(zzz7980, zzz8040, ehh)
new_esEs14(zzz79801, zzz80401, app(app(ty_Either, cgh), cha)) → new_esEs20(zzz79801, zzz80401, cgh, cha)
new_esEs20(Left(zzz79800), Left(zzz80400), app(ty_Maybe, fde), fcf) → new_esEs21(zzz79800, zzz80400, fde)
new_ltEs19(zzz950, zzz953, ty_Integer) → new_ltEs14(zzz950, zzz953)
new_compare31(zzz7980, zzz8040, ty_Float) → new_compare16(zzz7980, zzz8040)
new_esEs34(zzz949, zzz952, ty_Bool) → new_esEs23(zzz949, zzz952)
new_esEs29(zzz8881, zzz8891, app(ty_Maybe, hf)) → new_esEs21(zzz8881, zzz8891, hf)
new_esEs34(zzz949, zzz952, app(ty_Maybe, cba)) → new_esEs21(zzz949, zzz952, cba)
new_esEs4(zzz7980, zzz8040, app(app(ty_Either, fce), fcf)) → new_esEs20(zzz7980, zzz8040, fce, fcf)
new_esEs15(zzz79800, zzz80400, app(app(ty_Either, dab), dac)) → new_esEs20(zzz79800, zzz80400, dab, dac)
new_lt22(zzz961, zzz963, app(app(ty_@2, cef), ceg)) → new_lt19(zzz961, zzz963, cef, ceg)
new_esEs35(zzz948, zzz951, ty_@0) → new_esEs27(zzz948, zzz951)
new_esEs38(zzz8880, zzz8890, app(ty_[], bde)) → new_esEs22(zzz8880, zzz8890, bde)
new_esEs32(zzz79801, zzz80401, ty_Float) → new_esEs24(zzz79801, zzz80401)
new_lt5(zzz8881, zzz8891, app(app(app(ty_@3, bac), bad), bae)) → new_lt17(zzz8881, zzz8891, bac, bad, bae)
new_ltEs20(zzz907, zzz908, app(app(ty_@2, bha), bhb)) → new_ltEs18(zzz907, zzz908, bha, bhb)
new_esEs5(zzz7980, zzz8040, app(ty_Ratio, dda)) → new_esEs17(zzz7980, zzz8040, dda)
new_esEs14(zzz79801, zzz80401, ty_Double) → new_esEs25(zzz79801, zzz80401)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Float, dg) → new_ltEs11(zzz8880, zzz8890)
new_ltEs10(Right(zzz8880), Right(zzz8890), eh, app(app(ty_@2, ga), gb)) → new_ltEs18(zzz8880, zzz8890, ga, gb)
new_lt5(zzz8881, zzz8891, ty_Integer) → new_lt15(zzz8881, zzz8891)
new_ltEs10(Right(zzz8880), Right(zzz8890), eh, ty_Double) → new_ltEs7(zzz8880, zzz8890)
new_esEs4(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_esEs6(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_ltEs19(zzz950, zzz953, ty_@0) → new_ltEs13(zzz950, zzz953)
new_ltEs23(zzz962, zzz964, ty_Float) → new_ltEs11(zzz962, zzz964)
new_esEs15(zzz79800, zzz80400, app(app(app(ty_@3, chf), chg), chh)) → new_esEs16(zzz79800, zzz80400, chf, chg, chh)
new_esEs14(zzz79801, zzz80401, ty_Int) → new_esEs28(zzz79801, zzz80401)
new_ltEs20(zzz907, zzz908, app(ty_[], bgc)) → new_ltEs9(zzz907, zzz908, bgc)
new_lt6(zzz8880, zzz8890, app(app(ty_@2, bbg), bbh)) → new_lt19(zzz8880, zzz8890, bbg, bbh)
new_esEs29(zzz8881, zzz8891, ty_Float) → new_esEs24(zzz8881, zzz8891)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Float) → new_ltEs11(zzz8880, zzz8890)
new_compare18(GT, EQ) → GT
new_esEs37(zzz961, zzz963, ty_Double) → new_esEs25(zzz961, zzz963)
new_esEs32(zzz79801, zzz80401, ty_Ordering) → new_esEs19(zzz79801, zzz80401)
new_esEs38(zzz8880, zzz8890, app(app(ty_Either, bdf), bdg)) → new_esEs20(zzz8880, zzz8890, bdf, bdg)
new_esEs31(zzz79802, zzz80402, app(ty_Maybe, dhg)) → new_esEs21(zzz79802, zzz80402, dhg)
new_esEs7(zzz7982, zzz8042, app(ty_[], eeg)) → new_esEs22(zzz7982, zzz8042, eeg)
new_compare31(zzz7980, zzz8040, ty_Char) → new_compare29(zzz7980, zzz8040)
new_ltEs22(zzz900, zzz901, app(ty_Ratio, fbf)) → new_ltEs17(zzz900, zzz901, fbf)
new_esEs35(zzz948, zzz951, ty_Double) → new_esEs25(zzz948, zzz951)
new_esEs4(zzz7980, zzz8040, app(app(app(ty_@3, dgf), dgg), dgh)) → new_esEs16(zzz7980, zzz8040, dgf, dgg, dgh)
new_compare29(Char(zzz7980), Char(zzz8040)) → new_primCmpNat0(zzz7980, zzz8040)
new_esEs30(zzz8880, zzz8890, ty_Ordering) → new_esEs19(zzz8880, zzz8890)
new_compare110(zzz1009, zzz1010, zzz1011, zzz1012, True, zzz1014, fbc, fbd) → new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, True, fbc, fbd)
new_ltEs23(zzz962, zzz964, app(app(ty_Either, cfc), cfd)) → new_ltEs10(zzz962, zzz964, cfc, cfd)
new_esEs33(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_esEs36(zzz79800, zzz80400, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_esEs20(Right(zzz79800), Right(zzz80400), fce, app(app(ty_Either, fee), fef)) → new_esEs20(zzz79800, zzz80400, fee, fef)
new_lt20(zzz949, zzz952, ty_Float) → new_lt12(zzz949, zzz952)
new_esEs33(zzz79800, zzz80400, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_ltEs22(zzz900, zzz901, ty_Bool) → new_ltEs15(zzz900, zzz901)
new_lt9(zzz798, zzz804) → new_esEs12(new_compare14(zzz798, zzz804))
new_esEs32(zzz79801, zzz80401, ty_Int) → new_esEs28(zzz79801, zzz80401)
new_ltEs5(zzz8882, zzz8892, ty_Bool) → new_ltEs15(zzz8882, zzz8892)
new_compare15(zzz977, zzz978, False, edg) → GT
new_compare30(@2(zzz7980, zzz7981), @2(zzz8040, zzz8041), cdd, cde) → new_compare210(zzz7980, zzz7981, zzz8040, zzz8041, new_asAs(new_esEs11(zzz7980, zzz8040, cdd), new_esEs10(zzz7981, zzz8041, cde)), cdd, cde)
new_compare18(EQ, EQ) → EQ
new_esEs14(zzz79801, zzz80401, app(ty_Ratio, cgg)) → new_esEs17(zzz79801, zzz80401, cgg)
new_ltEs24(zzz8881, zzz8891, app(ty_Ratio, fgh)) → new_ltEs17(zzz8881, zzz8891, fgh)
new_esEs4(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_esEs38(zzz8880, zzz8890, ty_Ordering) → new_esEs19(zzz8880, zzz8890)
new_lt23(zzz8880, zzz8890, ty_Bool) → new_lt4(zzz8880, zzz8890)
new_lt20(zzz949, zzz952, ty_Bool) → new_lt4(zzz949, zzz952)
new_pePe(False, zzz1074) → zzz1074
new_esEs19(GT, GT) → True
new_esEs35(zzz948, zzz951, app(app(ty_@2, cdb), cdc)) → new_esEs13(zzz948, zzz951, cdb, cdc)
new_esEs38(zzz8880, zzz8890, ty_Integer) → new_esEs26(zzz8880, zzz8890)
new_esEs8(zzz7981, zzz8041, app(ty_[], ega)) → new_esEs22(zzz7981, zzz8041, ega)
new_ltEs15(True, True) → True
new_lt21(zzz948, zzz951, app(app(app(ty_@3, ccg), cch), cda)) → new_lt17(zzz948, zzz951, ccg, cch, cda)
new_ltEs24(zzz8881, zzz8891, ty_Integer) → new_ltEs14(zzz8881, zzz8891)
new_esEs29(zzz8881, zzz8891, ty_Char) → new_esEs18(zzz8881, zzz8891)
new_lt23(zzz8880, zzz8890, app(ty_Maybe, bdc)) → new_lt7(zzz8880, zzz8890, bdc)
new_esEs34(zzz949, zzz952, ty_Float) → new_esEs24(zzz949, zzz952)
new_lt21(zzz948, zzz951, app(ty_Ratio, eda)) → new_lt18(zzz948, zzz951, eda)
new_ltEs15(False, True) → True
new_esEs36(zzz79800, zzz80400, app(ty_[], fah)) → new_esEs22(zzz79800, zzz80400, fah)
new_compare5(False, False) → EQ
new_ltEs22(zzz900, zzz901, app(ty_Maybe, beg)) → new_ltEs6(zzz900, zzz901, beg)
new_compare31(zzz7980, zzz8040, ty_@0) → new_compare13(zzz7980, zzz8040)
new_ltEs16(EQ, GT) → True
new_esEs34(zzz949, zzz952, app(ty_Ratio, ech)) → new_esEs17(zzz949, zzz952, ech)
new_ltEs24(zzz8881, zzz8891, ty_Double) → new_ltEs7(zzz8881, zzz8891)
new_lt23(zzz8880, zzz8890, app(ty_[], bde)) → new_lt10(zzz8880, zzz8890, bde)
new_esEs31(zzz79802, zzz80402, ty_@0) → new_esEs27(zzz79802, zzz80402)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(app(ty_Either, ea), eb), dg) → new_ltEs10(zzz8880, zzz8890, ea, eb)
new_esEs31(zzz79802, zzz80402, app(app(ty_Either, dhe), dhf)) → new_esEs20(zzz79802, zzz80402, dhe, dhf)
new_ltEs22(zzz900, zzz901, ty_Ordering) → new_ltEs16(zzz900, zzz901)
new_ltEs18(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), bca, bdd) → new_pePe(new_lt23(zzz8880, zzz8890, bca), new_asAs(new_esEs38(zzz8880, zzz8890, bca), new_ltEs24(zzz8881, zzz8891, bdd)))
new_esEs8(zzz7981, zzz8041, app(app(app(ty_@3, efb), efc), efd)) → new_esEs16(zzz7981, zzz8041, efb, efc, efd)
new_esEs33(zzz79800, zzz80400, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_lt5(zzz8881, zzz8891, ty_Char) → new_lt13(zzz8881, zzz8891)
new_esEs12(GT) → False
new_ltEs5(zzz8882, zzz8892, app(ty_[], gf)) → new_ltEs9(zzz8882, zzz8892, gf)
new_esEs9(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_compare31(zzz7980, zzz8040, ty_Int) → new_compare14(zzz7980, zzz8040)
new_esEs12(LT) → True
new_ltEs15(False, False) → True
new_ltEs10(Left(zzz8880), Left(zzz8890), app(app(app(ty_@3, ec), ed), ee), dg) → new_ltEs4(zzz8880, zzz8890, ec, ed, ee)
new_lt23(zzz8880, zzz8890, ty_Float) → new_lt12(zzz8880, zzz8890)
new_compare26(zzz907, zzz908, False, bga, edc) → new_compare12(zzz907, zzz908, new_ltEs20(zzz907, zzz908, edc), bga, edc)
new_ltEs19(zzz950, zzz953, ty_Int) → new_ltEs8(zzz950, zzz953)
new_compare18(GT, GT) → EQ
new_lt5(zzz8881, zzz8891, ty_Float) → new_lt12(zzz8881, zzz8891)
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_ltEs24(zzz8881, zzz8891, ty_Int) → new_ltEs8(zzz8881, zzz8891)
new_esEs9(zzz7980, zzz8040, app(app(app(ty_@3, egd), ege), egf)) → new_esEs16(zzz7980, zzz8040, egd, ege, egf)
new_esEs34(zzz949, zzz952, app(app(app(ty_@3, cbf), cbg), cbh)) → new_esEs16(zzz949, zzz952, cbf, cbg, cbh)
new_esEs20(Right(zzz79800), Right(zzz80400), fce, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_esEs11(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_esEs33(zzz79800, zzz80400, app(app(app(ty_@3, ebe), ebf), ebg)) → new_esEs16(zzz79800, zzz80400, ebe, ebf, ebg)
new_ltEs21(zzz888, zzz889, ty_Bool) → new_ltEs15(zzz888, zzz889)
new_lt22(zzz961, zzz963, ty_Float) → new_lt12(zzz961, zzz963)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_ltEs19(zzz950, zzz953, app(app(ty_Either, cab), cac)) → new_ltEs10(zzz950, zzz953, cab, cac)
new_esEs24(Float(zzz79800, zzz79801), Float(zzz80400, zzz80401)) → new_esEs28(new_sr(zzz79800, zzz80400), new_sr(zzz79801, zzz80401))
new_lt22(zzz961, zzz963, app(ty_Maybe, cdf)) → new_lt7(zzz961, zzz963, cdf)
new_esEs21(Just(zzz79800), Just(zzz80400), app(ty_Maybe, dbg)) → new_esEs21(zzz79800, zzz80400, dbg)
new_ltEs19(zzz950, zzz953, app(app(app(ty_@3, cad), cae), caf)) → new_ltEs4(zzz950, zzz953, cad, cae, caf)
new_esEs15(zzz79800, zzz80400, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_esEs29(zzz8881, zzz8891, ty_Ordering) → new_esEs19(zzz8881, zzz8891)
new_esEs10(zzz7981, zzz8041, app(app(ty_@2, fgd), fge)) → new_esEs13(zzz7981, zzz8041, fgd, fge)
new_esEs37(zzz961, zzz963, app(ty_Ratio, fgf)) → new_esEs17(zzz961, zzz963, fgf)
new_esEs21(Nothing, Nothing, dah) → True
new_lt20(zzz949, zzz952, app(app(ty_@2, cca), ccb)) → new_lt19(zzz949, zzz952, cca, ccb)
new_compare18(LT, GT) → LT
new_pePe(True, zzz1074) → True
new_compare0([], [], cb) → EQ
new_primEqNat0(Zero, Zero) → True
new_esEs38(zzz8880, zzz8890, ty_Int) → new_esEs28(zzz8880, zzz8890)
new_ltEs10(Right(zzz8880), Right(zzz8890), eh, ty_Ordering) → new_ltEs16(zzz8880, zzz8890)
new_lt23(zzz8880, zzz8890, ty_Integer) → new_lt15(zzz8880, zzz8890)
new_esEs37(zzz961, zzz963, app(app(ty_Either, cea), ceb)) → new_esEs20(zzz961, zzz963, cea, ceb)
new_esEs5(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Char, fcf) → new_esEs18(zzz79800, zzz80400)
new_esEs7(zzz7982, zzz8042, app(app(ty_Either, eed), eee)) → new_esEs20(zzz7982, zzz8042, eed, eee)
new_esEs32(zzz79801, zzz80401, app(ty_[], ebb)) → new_esEs22(zzz79801, zzz80401, ebb)
new_lt6(zzz8880, zzz8890, app(ty_Ratio, dce)) → new_lt18(zzz8880, zzz8890, dce)
new_ltEs20(zzz907, zzz908, ty_Integer) → new_ltEs14(zzz907, zzz908)
new_esEs12(EQ) → False
new_compare31(zzz7980, zzz8040, ty_Ordering) → new_compare18(zzz7980, zzz8040)
new_compare27(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, False, bhf, bhg, cbb) → new_compare11(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, new_lt21(zzz948, zzz951, bhf), new_asAs(new_esEs35(zzz948, zzz951, bhf), new_pePe(new_lt20(zzz949, zzz952, bhg), new_asAs(new_esEs34(zzz949, zzz952, bhg), new_ltEs19(zzz950, zzz953, cbb)))), bhf, bhg, cbb)
new_esEs20(Right(zzz79800), Right(zzz80400), fce, app(ty_Maybe, feg)) → new_esEs21(zzz79800, zzz80400, feg)
new_ltEs17(zzz888, zzz889, edb) → new_fsEs(new_compare9(zzz888, zzz889, edb))
new_ltEs12(zzz888, zzz889) → new_fsEs(new_compare29(zzz888, zzz889))
new_esEs23(False, False) → True
new_lt8(zzz798, zzz804) → new_esEs12(new_compare19(zzz798, zzz804))
new_ltEs16(EQ, LT) → False
new_lt6(zzz8880, zzz8890, ty_Int) → new_lt9(zzz8880, zzz8890)
new_esEs6(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_ltEs23(zzz962, zzz964, ty_Integer) → new_ltEs14(zzz962, zzz964)
new_ltEs22(zzz900, zzz901, ty_Char) → new_ltEs12(zzz900, zzz901)
new_esEs30(zzz8880, zzz8890, app(app(app(ty_@3, bbd), bbe), bbf)) → new_esEs16(zzz8880, zzz8890, bbd, bbe, bbf)
new_esEs31(zzz79802, zzz80402, ty_Int) → new_esEs28(zzz79802, zzz80402)
new_ltEs16(GT, EQ) → False
new_esEs37(zzz961, zzz963, app(ty_Maybe, cdf)) → new_esEs21(zzz961, zzz963, cdf)
new_esEs38(zzz8880, zzz8890, ty_Char) → new_esEs18(zzz8880, zzz8890)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_esEs20(Left(zzz79800), Left(zzz80400), app(ty_Ratio, fdb), fcf) → new_esEs17(zzz79800, zzz80400, fdb)
new_compare12(zzz991, zzz992, False, ehf, ehg) → GT
new_esEs36(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_esEs14(zzz79801, zzz80401, app(ty_[], chc)) → new_esEs22(zzz79801, zzz80401, chc)
new_esEs7(zzz7982, zzz8042, app(ty_Maybe, eef)) → new_esEs21(zzz7982, zzz8042, eef)
new_esEs5(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_esEs30(zzz8880, zzz8890, app(ty_[], bba)) → new_esEs22(zzz8880, zzz8890, bba)
new_ltEs10(Right(zzz8880), Right(zzz8890), eh, ty_@0) → new_ltEs13(zzz8880, zzz8890)
new_esEs39(zzz79801, zzz80401, ty_Integer) → new_esEs26(zzz79801, zzz80401)
new_esEs21(Just(zzz79800), Just(zzz80400), app(app(ty_@2, dca), dcb)) → new_esEs13(zzz79800, zzz80400, dca, dcb)
new_esEs32(zzz79801, zzz80401, ty_Double) → new_esEs25(zzz79801, zzz80401)
new_ltEs5(zzz8882, zzz8892, ty_Float) → new_ltEs11(zzz8882, zzz8892)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_lt22(zzz961, zzz963, app(ty_Ratio, fgf)) → new_lt18(zzz961, zzz963, fgf)
new_ltEs19(zzz950, zzz953, ty_Bool) → new_ltEs15(zzz950, zzz953)
new_lt6(zzz8880, zzz8890, app(app(ty_Either, bbb), bbc)) → new_lt11(zzz8880, zzz8890, bbb, bbc)
new_compare110(zzz1009, zzz1010, zzz1011, zzz1012, False, zzz1014, fbc, fbd) → new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, zzz1014, fbc, fbd)
new_compare210(zzz961, zzz962, zzz963, zzz964, False, ceh, cdg) → new_compare110(zzz961, zzz962, zzz963, zzz964, new_lt22(zzz961, zzz963, ceh), new_asAs(new_esEs37(zzz961, zzz963, ceh), new_ltEs23(zzz962, zzz964, cdg)), ceh, cdg)
new_esEs8(zzz7981, zzz8041, ty_Char) → new_esEs18(zzz7981, zzz8041)
new_esEs9(zzz7980, zzz8040, app(ty_[], ehc)) → new_esEs22(zzz7980, zzz8040, ehc)
new_lt23(zzz8880, zzz8890, app(ty_Ratio, fha)) → new_lt18(zzz8880, zzz8890, fha)
new_esEs7(zzz7982, zzz8042, ty_Bool) → new_esEs23(zzz7982, zzz8042)
new_esEs29(zzz8881, zzz8891, app(app(ty_@2, baf), bag)) → new_esEs13(zzz8881, zzz8891, baf, bag)
new_ltEs11(zzz888, zzz889) → new_fsEs(new_compare16(zzz888, zzz889))
new_ltEs13(zzz888, zzz889) → new_fsEs(new_compare13(zzz888, zzz889))
new_primEqInt(Neg(Succ(zzz798000)), Neg(Succ(zzz804000))) → new_primEqNat0(zzz798000, zzz804000)
new_ltEs20(zzz907, zzz908, app(app(app(ty_@3, bgf), bgg), bgh)) → new_ltEs4(zzz907, zzz908, bgf, bgg, bgh)
new_esEs8(zzz7981, zzz8041, app(ty_Maybe, efh)) → new_esEs21(zzz7981, zzz8041, efh)
new_esEs10(zzz7981, zzz8041, ty_Ordering) → new_esEs19(zzz7981, zzz8041)
new_esEs4(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_ltEs16(LT, EQ) → True
new_compare5(True, True) → EQ
new_compare8(@3(zzz7980, zzz7981, zzz7982), @3(zzz8040, zzz8041, zzz8042), bhc, bhd, bhe) → new_compare27(zzz7980, zzz7981, zzz7982, zzz8040, zzz8041, zzz8042, new_asAs(new_esEs9(zzz7980, zzz8040, bhc), new_asAs(new_esEs8(zzz7981, zzz8041, bhd), new_esEs7(zzz7982, zzz8042, bhe))), bhc, bhd, bhe)
new_esEs29(zzz8881, zzz8891, app(app(app(ty_@3, bac), bad), bae)) → new_esEs16(zzz8881, zzz8891, bac, bad, bae)
new_esEs5(zzz7980, zzz8040, app(ty_[], dde)) → new_esEs22(zzz7980, zzz8040, dde)
new_lt23(zzz8880, zzz8890, app(app(ty_@2, bec), bed)) → new_lt19(zzz8880, zzz8890, bec, bed)
new_esEs19(EQ, EQ) → True
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Ordering) → new_ltEs16(zzz8880, zzz8890)
new_ltEs19(zzz950, zzz953, app(ty_Ratio, ecg)) → new_ltEs17(zzz950, zzz953, ecg)
new_ltEs21(zzz888, zzz889, ty_Int) → new_ltEs8(zzz888, zzz889)
new_esEs6(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_lt23(zzz8880, zzz8890, ty_Int) → new_lt9(zzz8880, zzz8890)
new_lt23(zzz8880, zzz8890, ty_@0) → new_lt14(zzz8880, zzz8890)
new_lt22(zzz961, zzz963, ty_Double) → new_lt8(zzz961, zzz963)
new_lt6(zzz8880, zzz8890, app(app(app(ty_@3, bbd), bbe), bbf)) → new_lt17(zzz8880, zzz8890, bbd, bbe, bbf)
new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, True, fbc, fbd) → LT
new_esEs37(zzz961, zzz963, ty_@0) → new_esEs27(zzz961, zzz963)
new_lt20(zzz949, zzz952, app(app(app(ty_@3, cbf), cbg), cbh)) → new_lt17(zzz949, zzz952, cbf, cbg, cbh)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs10(zzz7981, zzz8041, app(ty_Maybe, fgb)) → new_esEs21(zzz7981, zzz8041, fgb)
new_esEs35(zzz948, zzz951, ty_Ordering) → new_esEs19(zzz948, zzz951)
new_ltEs20(zzz907, zzz908, ty_Char) → new_ltEs12(zzz907, zzz908)
new_ltEs20(zzz907, zzz908, app(ty_Ratio, edd)) → new_ltEs17(zzz907, zzz908, edd)
new_esEs8(zzz7981, zzz8041, app(app(ty_Either, eff), efg)) → new_esEs20(zzz7981, zzz8041, eff, efg)
new_lt18(zzz798, zzz804, ffc) → new_esEs12(new_compare9(zzz798, zzz804, ffc))
new_primEqInt(Neg(Zero), Neg(Succ(zzz804000))) → False
new_primEqInt(Neg(Succ(zzz798000)), Neg(Zero)) → False
new_primCompAux0(zzz894, GT) → GT
new_ltEs19(zzz950, zzz953, ty_Char) → new_ltEs12(zzz950, zzz953)
new_esEs36(zzz79800, zzz80400, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_compare26(zzz907, zzz908, True, bga, edc) → EQ
new_esEs36(zzz79800, zzz80400, app(app(ty_Either, fae), faf)) → new_esEs20(zzz79800, zzz80400, fae, faf)
new_fsEs(zzz1069) → new_not(new_esEs19(zzz1069, GT))
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs40(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_esEs7(zzz7982, zzz8042, ty_Ordering) → new_esEs19(zzz7982, zzz8042)
new_esEs15(zzz79800, zzz80400, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_esEs6(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_@0) → new_ltEs13(zzz8880, zzz8890)
new_lt6(zzz8880, zzz8890, ty_Float) → new_lt12(zzz8880, zzz8890)
new_esEs4(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_esEs7(zzz7982, zzz8042, app(app(ty_@2, eeh), efa)) → new_esEs13(zzz7982, zzz8042, eeh, efa)
new_ltEs5(zzz8882, zzz8892, app(ty_Ratio, dcc)) → new_ltEs17(zzz8882, zzz8892, dcc)
new_lt6(zzz8880, zzz8890, ty_@0) → new_lt14(zzz8880, zzz8890)
new_esEs9(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_compare14(zzz798, zzz804) → new_primCmpInt(zzz798, zzz804)
new_lt19(zzz798, zzz804, cdd, cde) → new_esEs12(new_compare30(zzz798, zzz804, cdd, cde))
new_ltEs24(zzz8881, zzz8891, app(app(ty_Either, bcd), bce)) → new_ltEs10(zzz8881, zzz8891, bcd, bce)
new_ltEs16(GT, LT) → False
new_ltEs19(zzz950, zzz953, ty_Double) → new_ltEs7(zzz950, zzz953)
new_lt20(zzz949, zzz952, ty_Double) → new_lt8(zzz949, zzz952)
new_esEs11(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_lt21(zzz948, zzz951, ty_Char) → new_lt13(zzz948, zzz951)
new_lt6(zzz8880, zzz8890, ty_Double) → new_lt8(zzz8880, zzz8890)
new_esEs7(zzz7982, zzz8042, ty_Float) → new_esEs24(zzz7982, zzz8042)
new_esEs35(zzz948, zzz951, ty_Char) → new_esEs18(zzz948, zzz951)
new_esEs19(LT, EQ) → False
new_esEs19(EQ, LT) → False
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_esEs38(zzz8880, zzz8890, ty_Float) → new_esEs24(zzz8880, zzz8890)
new_esEs30(zzz8880, zzz8890, app(app(ty_@2, bbg), bbh)) → new_esEs13(zzz8880, zzz8890, bbg, bbh)
new_lt6(zzz8880, zzz8890, ty_Char) → new_lt13(zzz8880, zzz8890)
new_primEqInt(Pos(Succ(zzz798000)), Pos(Succ(zzz804000))) → new_primEqNat0(zzz798000, zzz804000)
new_esEs34(zzz949, zzz952, ty_Char) → new_esEs18(zzz949, zzz952)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Bool, fcf) → new_esEs23(zzz79800, zzz80400)
new_ltEs23(zzz962, zzz964, ty_Double) → new_ltEs7(zzz962, zzz964)
new_ltEs24(zzz8881, zzz8891, ty_@0) → new_ltEs13(zzz8881, zzz8891)
new_ltEs5(zzz8882, zzz8892, ty_Ordering) → new_ltEs16(zzz8882, zzz8892)
new_compare10(zzz984, zzz985, False, dgd, dge) → GT
new_ltEs23(zzz962, zzz964, app(app(app(ty_@3, cfe), cff), cfg)) → new_ltEs4(zzz962, zzz964, cfe, cff, cfg)
new_esEs31(zzz79802, zzz80402, ty_Bool) → new_esEs23(zzz79802, zzz80402)
new_esEs30(zzz8880, zzz8890, ty_@0) → new_esEs27(zzz8880, zzz8890)
new_esEs14(zzz79801, zzz80401, ty_Ordering) → new_esEs19(zzz79801, zzz80401)
new_esEs38(zzz8880, zzz8890, app(app(ty_@2, bec), bed)) → new_esEs13(zzz8880, zzz8890, bec, bed)
new_esEs34(zzz949, zzz952, ty_Int) → new_esEs28(zzz949, zzz952)
new_esEs21(Just(zzz79800), Just(zzz80400), app(ty_[], dbh)) → new_esEs22(zzz79800, zzz80400, dbh)
new_esEs14(zzz79801, zzz80401, app(app(app(ty_@3, cgd), cge), cgf)) → new_esEs16(zzz79801, zzz80401, cgd, cge, cgf)
new_compare12(zzz991, zzz992, True, ehf, ehg) → LT
new_esEs36(zzz79800, zzz80400, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_ltEs21(zzz888, zzz889, ty_Float) → new_ltEs11(zzz888, zzz889)
new_esEs11(zzz7980, zzz8040, app(app(ty_Either, dff), dfg)) → new_esEs20(zzz7980, zzz8040, dff, dfg)
new_ltEs14(zzz888, zzz889) → new_fsEs(new_compare17(zzz888, zzz889))
new_esEs33(zzz79800, zzz80400, app(app(ty_@2, ece), ecf)) → new_esEs13(zzz79800, zzz80400, ece, ecf)
new_esEs9(zzz7980, zzz8040, app(app(ty_Either, egh), eha)) → new_esEs20(zzz7980, zzz8040, egh, eha)
new_ltEs5(zzz8882, zzz8892, app(app(ty_@2, hd), he)) → new_ltEs18(zzz8882, zzz8892, hd, he)
new_ltEs24(zzz8881, zzz8891, ty_Float) → new_ltEs11(zzz8881, zzz8891)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Bool, dg) → new_ltEs15(zzz8880, zzz8890)
new_primEqNat0(Succ(zzz798000), Succ(zzz804000)) → new_primEqNat0(zzz798000, zzz804000)
new_esEs20(Right(zzz79800), Right(zzz80400), fce, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_lt10(zzz798, zzz804, cb) → new_esEs12(new_compare0(zzz798, zzz804, cb))
new_lt16(zzz798, zzz804) → new_esEs12(new_compare18(zzz798, zzz804))
new_compare6(Nothing, Nothing, de) → EQ
new_esEs25(Double(zzz79800, zzz79801), Double(zzz80400, zzz80401)) → new_esEs28(new_sr(zzz79800, zzz80400), new_sr(zzz79801, zzz80401))
new_lt22(zzz961, zzz963, ty_Char) → new_lt13(zzz961, zzz963)
new_esEs8(zzz7981, zzz8041, ty_@0) → new_esEs27(zzz7981, zzz8041)
new_esEs30(zzz8880, zzz8890, ty_Integer) → new_esEs26(zzz8880, zzz8890)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_esEs37(zzz961, zzz963, ty_Int) → new_esEs28(zzz961, zzz963)
new_lt23(zzz8880, zzz8890, ty_Double) → new_lt8(zzz8880, zzz8890)
new_ltEs10(Right(zzz8880), Right(zzz8890), eh, app(app(ty_Either, fc), fd)) → new_ltEs10(zzz8880, zzz8890, fc, fd)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Char) → new_ltEs12(zzz8880, zzz8890)
new_ltEs8(zzz888, zzz889) → new_fsEs(new_compare14(zzz888, zzz889))
new_primEqInt(Pos(Zero), Pos(Succ(zzz804000))) → False
new_primEqInt(Pos(Succ(zzz798000)), Pos(Zero)) → False
new_ltEs5(zzz8882, zzz8892, ty_Int) → new_ltEs8(zzz8882, zzz8892)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Float) → new_esEs24(zzz79800, zzz80400)
new_esEs35(zzz948, zzz951, ty_Bool) → new_esEs23(zzz948, zzz951)
new_esEs5(zzz7980, zzz8040, app(app(ty_@2, ddf), ddg)) → new_esEs13(zzz7980, zzz8040, ddf, ddg)
new_ltEs5(zzz8882, zzz8892, ty_@0) → new_ltEs13(zzz8882, zzz8892)
new_ltEs19(zzz950, zzz953, app(ty_Maybe, bhh)) → new_ltEs6(zzz950, zzz953, bhh)
new_esEs5(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_lt5(zzz8881, zzz8891, app(app(ty_Either, baa), bab)) → new_lt11(zzz8881, zzz8891, baa, bab)
new_esEs30(zzz8880, zzz8890, ty_Float) → new_esEs24(zzz8880, zzz8890)
new_compare18(GT, LT) → GT
new_ltEs24(zzz8881, zzz8891, app(app(ty_@2, bda), bdb)) → new_ltEs18(zzz8881, zzz8891, bda, bdb)
new_ltEs6(Just(zzz8880), Nothing, edf) → False
new_compare31(zzz7980, zzz8040, app(app(app(ty_@3, cg), da), db)) → new_compare8(zzz7980, zzz8040, cg, da, db)
new_esEs5(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_primCmpNat0(Zero, Zero) → EQ
new_compare27(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, True, bhf, bhg, cbb) → EQ
new_esEs13(@2(zzz79800, zzz79801), @2(zzz80400, zzz80401), cgb, cgc) → new_asAs(new_esEs15(zzz79800, zzz80400, cgb), new_esEs14(zzz79801, zzz80401, cgc))
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_esEs29(zzz8881, zzz8891, ty_Integer) → new_esEs26(zzz8881, zzz8891)
new_ltEs21(zzz888, zzz889, app(ty_Ratio, edb)) → new_ltEs17(zzz888, zzz889, edb)
new_esEs36(zzz79800, zzz80400, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_lt21(zzz948, zzz951, app(ty_[], ccd)) → new_lt10(zzz948, zzz951, ccd)
new_ltEs24(zzz8881, zzz8891, app(ty_Maybe, bcb)) → new_ltEs6(zzz8881, zzz8891, bcb)
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_ltEs21(zzz888, zzz889, ty_Ordering) → new_ltEs16(zzz888, zzz889)
new_esEs10(zzz7981, zzz8041, ty_Float) → new_esEs24(zzz7981, zzz8041)
new_compare31(zzz7980, zzz8040, app(ty_Ratio, fhc)) → new_compare9(zzz7980, zzz8040, fhc)
new_esEs37(zzz961, zzz963, ty_Float) → new_esEs24(zzz961, zzz963)
new_compare31(zzz7980, zzz8040, app(ty_Maybe, cc)) → new_compare6(zzz7980, zzz8040, cc)
new_esEs11(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_compare28(zzz888, zzz889, False, ede) → new_compare15(zzz888, zzz889, new_ltEs21(zzz888, zzz889, ede), ede)
new_lt20(zzz949, zzz952, ty_Char) → new_lt13(zzz949, zzz952)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(ty_[], dh), dg) → new_ltEs9(zzz8880, zzz8890, dh)
new_ltEs10(Right(zzz8880), Right(zzz8890), eh, ty_Integer) → new_ltEs14(zzz8880, zzz8890)
new_esEs20(Left(zzz79800), Left(zzz80400), app(app(ty_Either, fdc), fdd), fcf) → new_esEs20(zzz79800, zzz80400, fdc, fdd)
new_sr0(Integer(zzz79800), Integer(zzz80410)) → Integer(new_primMulInt(zzz79800, zzz80410))
new_esEs9(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_esEs23(True, True) → True
new_esEs36(zzz79800, zzz80400, app(app(app(ty_@3, faa), fab), fac)) → new_esEs16(zzz79800, zzz80400, faa, fab, fac)
new_primEqInt(Neg(Succ(zzz798000)), Pos(zzz80400)) → False
new_primEqInt(Pos(Succ(zzz798000)), Neg(zzz80400)) → False
new_esEs10(zzz7981, zzz8041, ty_Char) → new_esEs18(zzz7981, zzz8041)
new_esEs28(zzz7980, zzz8040) → new_primEqInt(zzz7980, zzz8040)
new_esEs26(Integer(zzz79800), Integer(zzz80400)) → new_primEqInt(zzz79800, zzz80400)
new_esEs10(zzz7981, zzz8041, ty_Bool) → new_esEs23(zzz7981, zzz8041)
new_ltEs5(zzz8882, zzz8892, ty_Double) → new_ltEs7(zzz8882, zzz8892)
new_lt5(zzz8881, zzz8891, app(ty_Ratio, dcd)) → new_lt18(zzz8881, zzz8891, dcd)
new_esEs22(:(zzz79800, zzz79801), :(zzz80400, zzz80401), ehh) → new_asAs(new_esEs36(zzz79800, zzz80400, ehh), new_esEs22(zzz79801, zzz80401, ehh))
new_esEs32(zzz79801, zzz80401, app(ty_Maybe, eba)) → new_esEs21(zzz79801, zzz80401, eba)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(ty_Maybe, h)) → new_ltEs6(zzz8880, zzz8890, h)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Ordering, fcf) → new_esEs19(zzz79800, zzz80400)
new_esEs33(zzz79800, zzz80400, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_lt6(zzz8880, zzz8890, ty_Integer) → new_lt15(zzz8880, zzz8890)
new_esEs5(zzz7980, zzz8040, app(ty_Maybe, ddd)) → new_esEs21(zzz7980, zzz8040, ddd)
new_compare5(True, False) → GT
new_primEqInt(Neg(Zero), Pos(Succ(zzz804000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(zzz804000))) → False
new_esEs35(zzz948, zzz951, app(ty_Ratio, eda)) → new_esEs17(zzz948, zzz951, eda)
new_esEs14(zzz79801, zzz80401, app(app(ty_@2, chd), che)) → new_esEs13(zzz79801, zzz80401, chd, che)
new_esEs30(zzz8880, zzz8890, app(ty_Maybe, bah)) → new_esEs21(zzz8880, zzz8890, bah)
new_esEs30(zzz8880, zzz8890, ty_Bool) → new_esEs23(zzz8880, zzz8890)
new_compare18(EQ, LT) → GT
new_esEs30(zzz8880, zzz8890, app(ty_Ratio, dce)) → new_esEs17(zzz8880, zzz8890, dce)
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_ltEs22(zzz900, zzz901, app(app(app(ty_@3, bfd), bfe), bff)) → new_ltEs4(zzz900, zzz901, bfd, bfe, bff)
new_esEs33(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs6(zzz7980, zzz8040, app(ty_Maybe, def)) → new_esEs21(zzz7980, zzz8040, def)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Char) → new_esEs18(zzz79800, zzz80400)
new_esEs23(False, True) → False
new_esEs23(True, False) → False
new_esEs20(Right(zzz79800), Right(zzz80400), fce, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs20(Right(zzz79800), Right(zzz80400), fce, app(app(app(ty_@3, fea), feb), fec)) → new_esEs16(zzz79800, zzz80400, fea, feb, fec)
new_ltEs16(EQ, EQ) → True
new_ltEs23(zzz962, zzz964, app(app(ty_@2, cfh), cga)) → new_ltEs18(zzz962, zzz964, cfh, cga)
new_esEs33(zzz79800, zzz80400, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_esEs35(zzz948, zzz951, app(ty_Maybe, ccc)) → new_esEs21(zzz948, zzz951, ccc)
new_esEs38(zzz8880, zzz8890, app(app(app(ty_@3, bdh), bea), beb)) → new_esEs16(zzz8880, zzz8890, bdh, bea, beb)
new_esEs22([], [], ehh) → True
new_esEs20(Left(zzz79800), Left(zzz80400), app(ty_[], fdf), fcf) → new_esEs22(zzz79800, zzz80400, fdf)
new_esEs6(zzz7980, zzz8040, app(app(ty_@2, deh), dfa)) → new_esEs13(zzz7980, zzz8040, deh, dfa)
new_primCompAux0(zzz894, LT) → LT
new_esEs33(zzz79800, zzz80400, app(app(ty_Either, eca), ecb)) → new_esEs20(zzz79800, zzz80400, eca, ecb)
new_esEs15(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs11(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_esEs7(zzz7982, zzz8042, app(ty_Ratio, eec)) → new_esEs17(zzz7982, zzz8042, eec)
new_compare18(EQ, GT) → LT
new_not(False) → True
new_lt21(zzz948, zzz951, app(app(ty_Either, cce), ccf)) → new_lt11(zzz948, zzz951, cce, ccf)
new_esEs8(zzz7981, zzz8041, ty_Float) → new_esEs24(zzz7981, zzz8041)
new_ltEs23(zzz962, zzz964, app(ty_Ratio, fgg)) → new_ltEs17(zzz962, zzz964, fgg)
new_ltEs21(zzz888, zzz889, app(app(ty_@2, bca), bdd)) → new_ltEs18(zzz888, zzz889, bca, bdd)
new_esEs29(zzz8881, zzz8891, ty_Bool) → new_esEs23(zzz8881, zzz8891)
new_esEs20(Right(zzz79800), Right(zzz80400), fce, app(app(ty_@2, ffa), ffb)) → new_esEs13(zzz79800, zzz80400, ffa, ffb)
new_esEs21(Just(zzz79800), Just(zzz80400), app(app(ty_Either, dbe), dbf)) → new_esEs20(zzz79800, zzz80400, dbe, dbf)
new_ltEs7(zzz888, zzz889) → new_fsEs(new_compare19(zzz888, zzz889))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_esEs35(zzz948, zzz951, app(app(ty_Either, cce), ccf)) → new_esEs20(zzz948, zzz951, cce, ccf)
new_esEs37(zzz961, zzz963, app(ty_[], cdh)) → new_esEs22(zzz961, zzz963, cdh)
new_esEs8(zzz7981, zzz8041, ty_Ordering) → new_esEs19(zzz7981, zzz8041)
new_esEs33(zzz79800, zzz80400, app(ty_Ratio, ebh)) → new_esEs17(zzz79800, zzz80400, ebh)
new_esEs31(zzz79802, zzz80402, app(ty_[], dhh)) → new_esEs22(zzz79802, zzz80402, dhh)
new_ltEs23(zzz962, zzz964, app(ty_[], cfb)) → new_ltEs9(zzz962, zzz964, cfb)
new_lt21(zzz948, zzz951, ty_Bool) → new_lt4(zzz948, zzz951)
new_ltEs5(zzz8882, zzz8892, ty_Integer) → new_ltEs14(zzz8882, zzz8892)
new_lt21(zzz948, zzz951, ty_@0) → new_lt14(zzz948, zzz951)
new_lt20(zzz949, zzz952, app(ty_[], cbc)) → new_lt10(zzz949, zzz952, cbc)
new_esEs10(zzz7981, zzz8041, ty_Double) → new_esEs25(zzz7981, zzz8041)
new_ltEs21(zzz888, zzz889, ty_Char) → new_ltEs12(zzz888, zzz889)
new_lt22(zzz961, zzz963, ty_Ordering) → new_lt16(zzz961, zzz963)
new_esEs34(zzz949, zzz952, ty_@0) → new_esEs27(zzz949, zzz952)
new_compare0(:(zzz7980, zzz7981), [], cb) → GT
new_esEs6(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_esEs5(zzz7980, zzz8040, app(app(app(ty_@3, dcf), dcg), dch)) → new_esEs16(zzz7980, zzz8040, dcf, dcg, dch)
new_esEs8(zzz7981, zzz8041, ty_Integer) → new_esEs26(zzz7981, zzz8041)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_@0, fcf) → new_esEs27(zzz79800, zzz80400)
new_esEs19(LT, GT) → False
new_esEs19(GT, LT) → False
new_esEs31(zzz79802, zzz80402, ty_Integer) → new_esEs26(zzz79802, zzz80402)
new_esEs14(zzz79801, zzz80401, ty_Char) → new_esEs18(zzz79801, zzz80401)
new_lt21(zzz948, zzz951, ty_Double) → new_lt8(zzz948, zzz951)
new_esEs5(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_esEs20(Right(zzz79800), Right(zzz80400), fce, app(ty_[], feh)) → new_esEs22(zzz79800, zzz80400, feh)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_esEs38(zzz8880, zzz8890, ty_@0) → new_esEs27(zzz8880, zzz8890)
new_esEs6(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_lt23(zzz8880, zzz8890, app(app(ty_Either, bdf), bdg)) → new_lt11(zzz8880, zzz8890, bdf, bdg)
new_lt6(zzz8880, zzz8890, app(ty_[], bba)) → new_lt10(zzz8880, zzz8890, bba)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_esEs4(zzz7980, zzz8040, app(app(ty_@2, cgb), cgc)) → new_esEs13(zzz7980, zzz8040, cgb, cgc)
new_esEs30(zzz8880, zzz8890, app(app(ty_Either, bbb), bbc)) → new_esEs20(zzz8880, zzz8890, bbb, bbc)
new_ltEs22(zzz900, zzz901, ty_Int) → new_ltEs8(zzz900, zzz901)
new_esEs4(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_esEs15(zzz79800, zzz80400, app(ty_Ratio, daa)) → new_esEs17(zzz79800, zzz80400, daa)
new_lt7(zzz798, zzz804, de) → new_esEs12(new_compare6(zzz798, zzz804, de))
new_ltEs21(zzz888, zzz889, app(app(app(ty_@3, gc), gd), hg)) → new_ltEs4(zzz888, zzz889, gc, gd, hg)
new_esEs34(zzz949, zzz952, app(app(ty_Either, cbd), cbe)) → new_esEs20(zzz949, zzz952, cbd, cbe)
new_esEs10(zzz7981, zzz8041, app(app(ty_Either, ffh), fga)) → new_esEs20(zzz7981, zzz8041, ffh, fga)
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_esEs37(zzz961, zzz963, app(app(app(ty_@3, cec), ced), cee)) → new_esEs16(zzz961, zzz963, cec, ced, cee)
new_esEs6(zzz7980, zzz8040, app(ty_[], deg)) → new_esEs22(zzz7980, zzz8040, deg)
new_lt20(zzz949, zzz952, ty_@0) → new_lt14(zzz949, zzz952)
new_esEs7(zzz7982, zzz8042, ty_Integer) → new_esEs26(zzz7982, zzz8042)
new_primEqNat0(Zero, Succ(zzz804000)) → False
new_primEqNat0(Succ(zzz798000), Zero) → False
new_esEs29(zzz8881, zzz8891, app(ty_Ratio, dcd)) → new_esEs17(zzz8881, zzz8891, dcd)
new_ltEs10(Right(zzz8880), Right(zzz8890), eh, ty_Char) → new_ltEs12(zzz8880, zzz8890)
new_ltEs22(zzz900, zzz901, ty_@0) → new_ltEs13(zzz900, zzz901)
new_compare25(zzz900, zzz901, True, fbe, beh) → EQ
new_esEs20(Right(zzz79800), Right(zzz80400), fce, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_esEs34(zzz949, zzz952, app(ty_[], cbc)) → new_esEs22(zzz949, zzz952, cbc)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_lt13(zzz798, zzz804) → new_esEs12(new_compare29(zzz798, zzz804))
new_esEs21(Just(zzz79800), Just(zzz80400), app(ty_Ratio, dbd)) → new_esEs17(zzz79800, zzz80400, dbd)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(app(ty_Either, bb), bc)) → new_ltEs10(zzz8880, zzz8890, bb, bc)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(ty_Ratio, fhb)) → new_ltEs17(zzz8880, zzz8890, fhb)
new_esEs33(zzz79800, zzz80400, app(ty_Maybe, ecc)) → new_esEs21(zzz79800, zzz80400, ecc)
new_compare31(zzz7980, zzz8040, app(app(ty_@2, dc), dd)) → new_compare30(zzz7980, zzz8040, dc, dd)
new_esEs36(zzz79800, zzz80400, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(ty_[], ba)) → new_ltEs9(zzz8880, zzz8890, ba)
new_esEs15(zzz79800, zzz80400, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_esEs9(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_esEs20(Right(zzz79800), Right(zzz80400), fce, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Int, fcf) → new_esEs28(zzz79800, zzz80400)
new_ltEs24(zzz8881, zzz8891, ty_Ordering) → new_ltEs16(zzz8881, zzz8891)
new_ltEs20(zzz907, zzz908, ty_Ordering) → new_ltEs16(zzz907, zzz908)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Double, dg) → new_ltEs7(zzz8880, zzz8890)
new_ltEs20(zzz907, zzz908, app(app(ty_Either, bgd), bge)) → new_ltEs10(zzz907, zzz908, bgd, bge)
new_ltEs20(zzz907, zzz908, app(ty_Maybe, bgb)) → new_ltEs6(zzz907, zzz908, bgb)
new_esEs5(zzz7980, zzz8040, app(app(ty_Either, ddb), ddc)) → new_esEs20(zzz7980, zzz8040, ddb, ddc)
new_lt20(zzz949, zzz952, app(app(ty_Either, cbd), cbe)) → new_lt11(zzz949, zzz952, cbd, cbe)
new_lt21(zzz948, zzz951, ty_Integer) → new_lt15(zzz948, zzz951)
new_esEs11(zzz7980, zzz8040, app(app(app(ty_@3, dfb), dfc), dfd)) → new_esEs16(zzz7980, zzz8040, dfb, dfc, dfd)
new_esEs7(zzz7982, zzz8042, ty_@0) → new_esEs27(zzz7982, zzz8042)
new_esEs9(zzz7980, zzz8040, app(ty_Ratio, egg)) → new_esEs17(zzz7980, zzz8040, egg)
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_esEs29(zzz8881, zzz8891, app(app(ty_Either, baa), bab)) → new_esEs20(zzz8881, zzz8891, baa, bab)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_esEs30(zzz8880, zzz8890, ty_Char) → new_esEs18(zzz8880, zzz8890)
new_compare0(:(zzz7980, zzz7981), :(zzz8040, zzz8041), cb) → new_primCompAux1(zzz7980, zzz8040, new_compare0(zzz7981, zzz8041, cb), cb)
new_esEs20(Left(zzz79800), Left(zzz80400), app(app(app(ty_@3, fcg), fch), fda), fcf) → new_esEs16(zzz79800, zzz80400, fcg, fch, fda)
new_esEs30(zzz8880, zzz8890, ty_Int) → new_esEs28(zzz8880, zzz8890)
new_esEs39(zzz79801, zzz80401, ty_Int) → new_esEs28(zzz79801, zzz80401)
new_esEs37(zzz961, zzz963, ty_Bool) → new_esEs23(zzz961, zzz963)
new_ltEs22(zzz900, zzz901, ty_Integer) → new_ltEs14(zzz900, zzz901)
new_esEs37(zzz961, zzz963, ty_Char) → new_esEs18(zzz961, zzz963)
new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, False, fbg, fbh, fca) → GT
new_esEs19(LT, LT) → True
new_lt22(zzz961, zzz963, ty_Integer) → new_lt15(zzz961, zzz963)
new_ltEs21(zzz888, zzz889, app(app(ty_Either, eh), dg)) → new_ltEs10(zzz888, zzz889, eh, dg)
new_compare11(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, False, zzz1033, fbg, fbh, fca) → new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, zzz1033, fbg, fbh, fca)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_@0) → new_esEs27(zzz79800, zzz80400)
new_esEs31(zzz79802, zzz80402, ty_Float) → new_esEs24(zzz79802, zzz80402)
new_compare6(Just(zzz7980), Just(zzz8040), de) → new_compare28(zzz7980, zzz8040, new_esEs4(zzz7980, zzz8040, de), de)
new_esEs4(zzz7980, zzz8040, app(ty_Ratio, fcd)) → new_esEs17(zzz7980, zzz8040, fcd)
new_ltEs23(zzz962, zzz964, ty_Ordering) → new_ltEs16(zzz962, zzz964)
new_esEs10(zzz7981, zzz8041, app(ty_[], fgc)) → new_esEs22(zzz7981, zzz8041, fgc)
new_esEs33(zzz79800, zzz80400, app(ty_[], ecd)) → new_esEs22(zzz79800, zzz80400, ecd)
new_lt5(zzz8881, zzz8891, app(ty_Maybe, hf)) → new_lt7(zzz8881, zzz8891, hf)
new_esEs19(EQ, GT) → False
new_esEs19(GT, EQ) → False
new_lt5(zzz8881, zzz8891, ty_Bool) → new_lt4(zzz8881, zzz8891)
new_esEs20(Right(zzz79800), Right(zzz80400), fce, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_ltEs19(zzz950, zzz953, app(app(ty_@2, cag), cah)) → new_ltEs18(zzz950, zzz953, cag, cah)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs36(zzz79800, zzz80400, app(app(ty_@2, fba), fbb)) → new_esEs13(zzz79800, zzz80400, fba, fbb)
new_primCompAux1(zzz7980, zzz8040, zzz883, cb) → new_primCompAux0(zzz883, new_compare31(zzz7980, zzz8040, cb))
new_esEs10(zzz7981, zzz8041, ty_Integer) → new_esEs26(zzz7981, zzz8041)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(app(app(ty_@3, bd), be), bf)) → new_ltEs4(zzz8880, zzz8890, bd, be, bf)
new_compare31(zzz7980, zzz8040, ty_Integer) → new_compare17(zzz7980, zzz8040)
new_esEs22(:(zzz79800, zzz79801), [], ehh) → False
new_esEs22([], :(zzz80400, zzz80401), ehh) → False
new_compare6(Just(zzz7980), Nothing, de) → GT
new_esEs5(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_esEs8(zzz7981, zzz8041, ty_Bool) → new_esEs23(zzz7981, zzz8041)
new_lt20(zzz949, zzz952, app(ty_Maybe, cba)) → new_lt7(zzz949, zzz952, cba)
new_lt23(zzz8880, zzz8890, ty_Ordering) → new_lt16(zzz8880, zzz8890)
new_compare5(False, True) → LT
new_asAs(False, zzz1000) → False
new_ltEs10(Right(zzz8880), Right(zzz8890), eh, app(app(app(ty_@3, ff), fg), fh)) → new_ltEs4(zzz8880, zzz8890, ff, fg, fh)
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_esEs36(zzz79800, zzz80400, app(ty_Maybe, fag)) → new_esEs21(zzz79800, zzz80400, fag)
new_esEs31(zzz79802, zzz80402, ty_Double) → new_esEs25(zzz79802, zzz80402)
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_lt4(zzz798, zzz804) → new_esEs12(new_compare5(zzz798, zzz804))
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_esEs5(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_esEs6(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_ltEs23(zzz962, zzz964, app(ty_Maybe, cfa)) → new_ltEs6(zzz962, zzz964, cfa)
new_ltEs20(zzz907, zzz908, ty_Bool) → new_ltEs15(zzz907, zzz908)
new_lt17(zzz798, zzz804, bhc, bhd, bhe) → new_esEs12(new_compare8(zzz798, zzz804, bhc, bhd, bhe))
new_esEs14(zzz79801, zzz80401, ty_@0) → new_esEs27(zzz79801, zzz80401)
new_esEs21(Nothing, Just(zzz80400), dah) → False
new_esEs21(Just(zzz79800), Nothing, dah) → False
new_lt5(zzz8881, zzz8891, app(app(ty_@2, baf), bag)) → new_lt19(zzz8881, zzz8891, baf, bag)
new_ltEs22(zzz900, zzz901, app(app(ty_@2, bfg), bfh)) → new_ltEs18(zzz900, zzz901, bfg, bfh)
new_esEs29(zzz8881, zzz8891, ty_Double) → new_esEs25(zzz8881, zzz8891)
new_esEs33(zzz79800, zzz80400, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_esEs31(zzz79802, zzz80402, ty_Ordering) → new_esEs19(zzz79802, zzz80402)
new_esEs32(zzz79801, zzz80401, ty_Bool) → new_esEs23(zzz79801, zzz80401)
new_compare17(Integer(zzz7980), Integer(zzz8040)) → new_primCmpInt(zzz7980, zzz8040)
new_lt21(zzz948, zzz951, ty_Int) → new_lt9(zzz948, zzz951)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Int, dg) → new_ltEs8(zzz8880, zzz8890)
new_esEs15(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_esEs10(zzz7981, zzz8041, ty_@0) → new_esEs27(zzz7981, zzz8041)
new_lt22(zzz961, zzz963, app(ty_[], cdh)) → new_lt10(zzz961, zzz963, cdh)
new_esEs38(zzz8880, zzz8890, ty_Double) → new_esEs25(zzz8880, zzz8890)
new_esEs7(zzz7982, zzz8042, ty_Int) → new_esEs28(zzz7982, zzz8042)
new_lt23(zzz8880, zzz8890, app(app(app(ty_@3, bdh), bea), beb)) → new_lt17(zzz8880, zzz8890, bdh, bea, beb)
new_compare13(@0, @0) → EQ
new_compare31(zzz7980, zzz8040, app(ty_[], cd)) → new_compare0(zzz7980, zzz8040, cd)
new_esEs35(zzz948, zzz951, app(ty_[], ccd)) → new_esEs22(zzz948, zzz951, ccd)
new_esEs6(zzz7980, zzz8040, app(ty_Ratio, dec)) → new_esEs17(zzz7980, zzz8040, dec)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Integer) → new_ltEs14(zzz8880, zzz8890)
new_compare31(zzz7980, zzz8040, app(app(ty_Either, ce), cf)) → new_compare7(zzz7980, zzz8040, ce, cf)
new_ltEs24(zzz8881, zzz8891, app(ty_[], bcc)) → new_ltEs9(zzz8881, zzz8891, bcc)
new_ltEs5(zzz8882, zzz8892, ty_Char) → new_ltEs12(zzz8882, zzz8892)
new_ltEs23(zzz962, zzz964, ty_Char) → new_ltEs12(zzz962, zzz964)
new_lt5(zzz8881, zzz8891, app(ty_[], hh)) → new_lt10(zzz8881, zzz8891, hh)
new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, False, fbc, fbd) → GT
new_lt21(zzz948, zzz951, ty_Ordering) → new_lt16(zzz948, zzz951)
new_lt20(zzz949, zzz952, app(ty_Ratio, ech)) → new_lt18(zzz949, zzz952, ech)
new_ltEs10(Right(zzz8880), Right(zzz8890), eh, ty_Int) → new_ltEs8(zzz8880, zzz8890)
new_ltEs23(zzz962, zzz964, ty_Bool) → new_ltEs15(zzz962, zzz964)
new_ltEs4(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), gc, gd, hg) → new_pePe(new_lt6(zzz8880, zzz8890, gc), new_asAs(new_esEs30(zzz8880, zzz8890, gc), new_pePe(new_lt5(zzz8881, zzz8891, gd), new_asAs(new_esEs29(zzz8881, zzz8891, gd), new_ltEs5(zzz8882, zzz8892, hg)))))
new_ltEs10(Right(zzz8880), Right(zzz8890), eh, app(ty_Ratio, fcc)) → new_ltEs17(zzz8880, zzz8890, fcc)
new_ltEs10(Right(zzz8880), Right(zzz8890), eh, app(ty_Maybe, fa)) → new_ltEs6(zzz8880, zzz8890, fa)
new_esEs35(zzz948, zzz951, ty_Float) → new_esEs24(zzz948, zzz951)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Bool) → new_ltEs15(zzz8880, zzz8890)
new_esEs15(zzz79800, zzz80400, app(ty_Maybe, dad)) → new_esEs21(zzz79800, zzz80400, dad)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Char, dg) → new_ltEs12(zzz8880, zzz8890)
new_ltEs6(Nothing, Nothing, edf) → True
new_ltEs9(zzz888, zzz889, ca) → new_fsEs(new_compare0(zzz888, zzz889, ca))
new_compare7(Right(zzz7980), Left(zzz8040), bee, bef) → GT
new_esEs34(zzz949, zzz952, ty_Integer) → new_esEs26(zzz949, zzz952)
new_esEs40(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs20(Left(zzz79800), Left(zzz80400), app(app(ty_@2, fdg), fdh), fcf) → new_esEs13(zzz79800, zzz80400, fdg, fdh)
new_esEs32(zzz79801, zzz80401, app(ty_Ratio, eaf)) → new_esEs17(zzz79801, zzz80401, eaf)
new_ltEs24(zzz8881, zzz8891, ty_Char) → new_ltEs12(zzz8881, zzz8891)
new_esEs6(zzz7980, zzz8040, app(app(ty_Either, ded), dee)) → new_esEs20(zzz7980, zzz8040, ded, dee)
new_ltEs10(Right(zzz8880), Right(zzz8890), eh, ty_Bool) → new_ltEs15(zzz8880, zzz8890)
new_lt20(zzz949, zzz952, ty_Ordering) → new_lt16(zzz949, zzz952)
new_ltEs21(zzz888, zzz889, ty_@0) → new_ltEs13(zzz888, zzz889)
new_lt21(zzz948, zzz951, app(app(ty_@2, cdb), cdc)) → new_lt19(zzz948, zzz951, cdb, cdc)
new_esEs11(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_esEs9(zzz7980, zzz8040, app(ty_Maybe, ehb)) → new_esEs21(zzz7980, zzz8040, ehb)
new_esEs10(zzz7981, zzz8041, app(ty_Ratio, ffg)) → new_esEs17(zzz7981, zzz8041, ffg)
new_compare25(zzz900, zzz901, False, fbe, beh) → new_compare10(zzz900, zzz901, new_ltEs22(zzz900, zzz901, fbe), fbe, beh)
new_ltEs20(zzz907, zzz908, ty_Float) → new_ltEs11(zzz907, zzz908)
new_esEs6(zzz7980, zzz8040, app(app(app(ty_@3, ddh), dea), deb)) → new_esEs16(zzz7980, zzz8040, ddh, dea, deb)
new_ltEs10(Right(zzz8880), Left(zzz8890), eh, dg) → False
new_compare18(LT, LT) → EQ
new_esEs34(zzz949, zzz952, ty_Double) → new_esEs25(zzz949, zzz952)
new_esEs36(zzz79800, zzz80400, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_esEs15(zzz79800, zzz80400, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_lt20(zzz949, zzz952, ty_Integer) → new_lt15(zzz949, zzz952)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Float, fcf) → new_esEs24(zzz79800, zzz80400)
new_ltEs22(zzz900, zzz901, app(ty_[], bfa)) → new_ltEs9(zzz900, zzz901, bfa)
new_esEs31(zzz79802, zzz80402, ty_Char) → new_esEs18(zzz79802, zzz80402)
new_esEs7(zzz7982, zzz8042, ty_Double) → new_esEs25(zzz7982, zzz8042)
new_lt21(zzz948, zzz951, ty_Float) → new_lt12(zzz948, zzz951)
new_compare7(Left(zzz7980), Left(zzz8040), bee, bef) → new_compare25(zzz7980, zzz8040, new_esEs5(zzz7980, zzz8040, bee), bee, bef)
new_esEs7(zzz7982, zzz8042, app(app(app(ty_@3, edh), eea), eeb)) → new_esEs16(zzz7982, zzz8042, edh, eea, eeb)
new_esEs34(zzz949, zzz952, app(app(ty_@2, cca), ccb)) → new_esEs13(zzz949, zzz952, cca, ccb)
new_esEs35(zzz948, zzz951, app(app(app(ty_@3, ccg), cch), cda)) → new_esEs16(zzz948, zzz951, ccg, cch, cda)
new_compare7(Right(zzz7980), Right(zzz8040), bee, bef) → new_compare26(zzz7980, zzz8040, new_esEs6(zzz7980, zzz8040, bef), bee, bef)
new_esEs6(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_esEs35(zzz948, zzz951, ty_Integer) → new_esEs26(zzz948, zzz951)
new_esEs31(zzz79802, zzz80402, app(app(app(ty_@3, dha), dhb), dhc)) → new_esEs16(zzz79802, zzz80402, dha, dhb, dhc)
new_lt5(zzz8881, zzz8891, ty_Double) → new_lt8(zzz8881, zzz8891)
new_esEs37(zzz961, zzz963, ty_Integer) → new_esEs26(zzz961, zzz963)
new_esEs15(zzz79800, zzz80400, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_lt5(zzz8881, zzz8891, ty_Ordering) → new_lt16(zzz8881, zzz8891)
new_ltEs22(zzz900, zzz901, ty_Double) → new_ltEs7(zzz900, zzz901)
new_esEs31(zzz79802, zzz80402, app(ty_Ratio, dhd)) → new_esEs17(zzz79802, zzz80402, dhd)
new_esEs38(zzz8880, zzz8890, app(ty_Maybe, bdc)) → new_esEs21(zzz8880, zzz8890, bdc)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(app(ty_@2, ef), eg), dg) → new_ltEs18(zzz8880, zzz8890, ef, eg)
new_lt22(zzz961, zzz963, app(app(app(ty_@3, cec), ced), cee)) → new_lt17(zzz961, zzz963, cec, ced, cee)
new_lt6(zzz8880, zzz8890, app(ty_Maybe, bah)) → new_lt7(zzz8880, zzz8890, bah)
new_ltEs21(zzz888, zzz889, ty_Integer) → new_ltEs14(zzz888, zzz889)
new_esEs15(zzz79800, zzz80400, app(ty_[], dae)) → new_esEs22(zzz79800, zzz80400, dae)
new_primPlusNat1(Zero, Zero) → Zero
new_compare0([], :(zzz8040, zzz8041), cb) → LT
new_esEs7(zzz7982, zzz8042, ty_Char) → new_esEs18(zzz7982, zzz8042)
new_compare15(zzz977, zzz978, True, edg) → LT
new_esEs8(zzz7981, zzz8041, app(app(ty_@2, egb), egc)) → new_esEs13(zzz7981, zzz8041, egb, egc)
new_ltEs21(zzz888, zzz889, ty_Double) → new_ltEs7(zzz888, zzz889)
new_asAs(True, zzz1000) → zzz1000
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Double) → new_esEs25(zzz79800, zzz80400)
new_ltEs22(zzz900, zzz901, ty_Float) → new_ltEs11(zzz900, zzz901)
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_esEs9(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_lt22(zzz961, zzz963, ty_Bool) → new_lt4(zzz961, zzz963)
new_ltEs5(zzz8882, zzz8892, app(ty_Maybe, ge)) → new_ltEs6(zzz8882, zzz8892, ge)
new_ltEs23(zzz962, zzz964, ty_Int) → new_ltEs8(zzz962, zzz964)
new_ltEs16(LT, LT) → True
new_esEs4(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_esEs11(zzz7980, zzz8040, app(app(ty_@2, dgb), dgc)) → new_esEs13(zzz7980, zzz8040, dgb, dgc)
new_lt5(zzz8881, zzz8891, ty_Int) → new_lt9(zzz8881, zzz8891)
new_esEs14(zzz79801, zzz80401, ty_Integer) → new_esEs26(zzz79801, zzz80401)
new_esEs4(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_lt22(zzz961, zzz963, ty_@0) → new_lt14(zzz961, zzz963)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(app(ty_@2, bg), bh)) → new_ltEs18(zzz8880, zzz8890, bg, bh)
new_esEs33(zzz79800, zzz80400, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_compare28(zzz888, zzz889, True, ede) → EQ
new_lt20(zzz949, zzz952, ty_Int) → new_lt9(zzz949, zzz952)
new_compare18(LT, EQ) → LT
new_ltEs23(zzz962, zzz964, ty_@0) → new_ltEs13(zzz962, zzz964)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Int) → new_ltEs8(zzz8880, zzz8890)
new_esEs29(zzz8881, zzz8891, ty_@0) → new_esEs27(zzz8881, zzz8891)
new_esEs9(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_esEs37(zzz961, zzz963, ty_Ordering) → new_esEs19(zzz961, zzz963)
new_ltEs20(zzz907, zzz908, ty_Int) → new_ltEs8(zzz907, zzz908)
new_esEs17(:%(zzz79800, zzz79801), :%(zzz80400, zzz80401), fcd) → new_asAs(new_esEs40(zzz79800, zzz80400, fcd), new_esEs39(zzz79801, zzz80401, fcd))
new_compare9(:%(zzz7980, zzz7981), :%(zzz8040, zzz8041), ty_Integer) → new_compare17(new_sr0(zzz7980, zzz8041), new_sr0(zzz8040, zzz7981))
new_compare6(Nothing, Just(zzz8040), de) → LT
new_esEs15(zzz79800, zzz80400, app(app(ty_@2, daf), dag)) → new_esEs13(zzz79800, zzz80400, daf, dag)
new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, True, fbg, fbh, fca) → LT
new_ltEs20(zzz907, zzz908, ty_@0) → new_ltEs13(zzz907, zzz908)
new_esEs36(zzz79800, zzz80400, app(ty_Ratio, fad)) → new_esEs17(zzz79800, zzz80400, fad)
new_esEs11(zzz7980, zzz8040, app(ty_[], dga)) → new_esEs22(zzz7980, zzz8040, dga)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(ty_Ratio, fcb), dg) → new_ltEs17(zzz8880, zzz8890, fcb)
new_esEs31(zzz79802, zzz80402, app(app(ty_@2, eaa), eab)) → new_esEs13(zzz79802, zzz80402, eaa, eab)
new_esEs38(zzz8880, zzz8890, app(ty_Ratio, fha)) → new_esEs17(zzz8880, zzz8890, fha)
new_esEs20(Right(zzz79800), Right(zzz80400), fce, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_ltEs24(zzz8881, zzz8891, ty_Bool) → new_ltEs15(zzz8881, zzz8891)
new_esEs20(Right(zzz79800), Right(zzz80400), fce, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Integer, dg) → new_ltEs14(zzz8880, zzz8890)
new_lt5(zzz8881, zzz8891, ty_@0) → new_lt14(zzz8881, zzz8891)
new_lt6(zzz8880, zzz8890, ty_Ordering) → new_lt16(zzz8880, zzz8890)
new_esEs20(Right(zzz79800), Right(zzz80400), fce, app(ty_Ratio, fed)) → new_esEs17(zzz79800, zzz80400, fed)
new_esEs8(zzz7981, zzz8041, app(ty_Ratio, efe)) → new_esEs17(zzz7981, zzz8041, efe)
new_esEs8(zzz7981, zzz8041, ty_Int) → new_esEs28(zzz7981, zzz8041)
new_esEs34(zzz949, zzz952, ty_Ordering) → new_esEs19(zzz949, zzz952)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Integer, fcf) → new_esEs26(zzz79800, zzz80400)
new_esEs11(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_@0, dg) → new_ltEs13(zzz8880, zzz8890)
new_esEs29(zzz8881, zzz8891, ty_Int) → new_esEs28(zzz8881, zzz8891)
new_primCompAux0(zzz894, EQ) → zzz894
new_ltEs5(zzz8882, zzz8892, app(app(app(ty_@3, ha), hb), hc)) → new_ltEs4(zzz8882, zzz8892, ha, hb, hc)
new_esEs32(zzz79801, zzz80401, ty_Char) → new_esEs18(zzz79801, zzz80401)
new_compare9(:%(zzz7980, zzz7981), :%(zzz8040, zzz8041), ty_Int) → new_compare14(new_sr(zzz7980, zzz8041), new_sr(zzz8040, zzz7981))
new_ltEs10(Left(zzz8880), Left(zzz8890), app(ty_Maybe, df), dg) → new_ltEs6(zzz8880, zzz8890, df)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs32(zzz79801, zzz80401, app(app(ty_@2, ebc), ebd)) → new_esEs13(zzz79801, zzz80401, ebc, ebd)
new_lt22(zzz961, zzz963, app(app(ty_Either, cea), ceb)) → new_lt11(zzz961, zzz963, cea, ceb)
new_esEs14(zzz79801, zzz80401, ty_Float) → new_esEs24(zzz79801, zzz80401)
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_esEs16(@3(zzz79800, zzz79801, zzz79802), @3(zzz80400, zzz80401, zzz80402), dgf, dgg, dgh) → new_asAs(new_esEs33(zzz79800, zzz80400, dgf), new_asAs(new_esEs32(zzz79801, zzz80401, dgg), new_esEs31(zzz79802, zzz80402, dgh)))
new_not(True) → False
new_compare210(zzz961, zzz962, zzz963, zzz964, True, ceh, cdg) → EQ
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_compare31(zzz7980, zzz8040, ty_Bool) → new_compare5(zzz7980, zzz8040)

The set Q consists of the following terms:

new_esEs14(x0, x1, ty_Char)
new_esEs33(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_lt6(x0, x1, ty_Integer)
new_esEs32(x0, x1, ty_Ordering)
new_lt23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs34(x0, x1, ty_@0)
new_ltEs23(x0, x1, ty_Char)
new_esEs29(x0, x1, ty_Bool)
new_ltEs22(x0, x1, app(ty_Maybe, x2))
new_ltEs6(Just(x0), Just(x1), ty_Double)
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Left(x0), Left(x1), ty_Char, x2)
new_esEs39(x0, x1, ty_Int)
new_esEs11(x0, x1, ty_Integer)
new_esEs20(Right(x0), Right(x1), x2, ty_Bool)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_lt6(x0, x1, app(ty_Maybe, x2))
new_ltEs19(x0, x1, ty_Double)
new_lt21(x0, x1, ty_Float)
new_lt20(x0, x1, ty_Integer)
new_lt21(x0, x1, ty_Integer)
new_ltEs21(x0, x1, ty_Char)
new_lt23(x0, x1, app(ty_[], x2))
new_esEs37(x0, x1, ty_Int)
new_esEs15(x0, x1, ty_Integer)
new_lt5(x0, x1, ty_Ordering)
new_esEs38(x0, x1, ty_Char)
new_ltEs5(x0, x1, ty_Bool)
new_esEs35(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, ty_Int)
new_compare11(x0, x1, x2, x3, x4, x5, False, x6, x7, x8, x9)
new_esEs35(x0, x1, ty_Float)
new_esEs21(Just(x0), Nothing, x1)
new_ltEs10(Left(x0), Left(x1), ty_@0, x2)
new_esEs9(x0, x1, ty_Int)
new_esEs20(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs21(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_Integer)
new_ltEs24(x0, x1, ty_Bool)
new_esEs38(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Integer)
new_esEs33(x0, x1, ty_Double)
new_esEs34(x0, x1, ty_Integer)
new_esEs20(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs20(x0, x1, ty_Char)
new_ltEs21(x0, x1, ty_Int)
new_esEs22(:(x0, x1), :(x2, x3), x4)
new_esEs37(x0, x1, app(app(ty_@2, x2), x3))
new_esEs15(x0, x1, app(app(ty_@2, x2), x3))
new_esEs35(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(Nothing, Nothing, x0)
new_esEs37(x0, x1, ty_Char)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs14(x0, x1, app(ty_Ratio, x2))
new_compare16(Float(x0, x1), Float(x2, x3))
new_esEs20(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs6(Nothing, Just(x0), x1)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(Right(x0), Right(x1), x2, ty_Double)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_compare25(x0, x1, True, x2, x3)
new_esEs8(x0, x1, ty_Int)
new_ltEs24(x0, x1, ty_Double)
new_esEs37(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare7(Right(x0), Right(x1), x2, x3)
new_ltEs6(Just(x0), Just(x1), ty_Int)
new_ltEs15(True, True)
new_esEs32(x0, x1, ty_Int)
new_esEs14(x0, x1, ty_Bool)
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs24(x0, x1, ty_Char)
new_esEs20(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs21(Just(x0), Just(x1), ty_@0)
new_esEs5(x0, x1, app(ty_[], x2))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_esEs36(x0, x1, app(ty_[], x2))
new_esEs8(x0, x1, ty_Integer)
new_esEs4(x0, x1, ty_Int)
new_esEs31(x0, x1, ty_Char)
new_esEs6(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Ordering)
new_esEs37(x0, x1, ty_Float)
new_esEs21(Just(x0), Just(x1), app(ty_[], x2))
new_esEs34(x0, x1, ty_Int)
new_ltEs10(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs23(x0, x1, ty_@0)
new_ltEs15(False, False)
new_esEs20(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_lt23(x0, x1, ty_Float)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_ltEs21(x0, x1, ty_Bool)
new_esEs38(x0, x1, ty_Int)
new_esEs38(x0, x1, ty_Ordering)
new_ltEs17(x0, x1, x2)
new_lt23(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs10(Right(x0), Right(x1), x2, ty_@0)
new_esEs15(x0, x1, app(ty_Ratio, x2))
new_ltEs23(x0, x1, app(ty_[], x2))
new_esEs31(x0, x1, ty_Ordering)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_ltEs23(x0, x1, ty_Bool)
new_ltEs22(x0, x1, ty_Int)
new_lt22(x0, x1, ty_Ordering)
new_esEs21(Nothing, Nothing, x0)
new_esEs20(Right(x0), Left(x1), x2, x3)
new_esEs20(Left(x0), Right(x1), x2, x3)
new_lt20(x0, x1, ty_Float)
new_sr(x0, x1)
new_ltEs22(x0, x1, ty_@0)
new_ltEs14(x0, x1)
new_esEs10(x0, x1, ty_Bool)
new_esEs36(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs15(x0, x1, ty_Bool)
new_esEs29(x0, x1, app(ty_[], x2))
new_primCmpNat0(Zero, Succ(x0))
new_esEs35(x0, x1, ty_Ordering)
new_esEs14(x0, x1, ty_Float)
new_esEs36(x0, x1, ty_Integer)
new_lt15(x0, x1)
new_compare31(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, ty_Int)
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs10(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs10(x0, x1, ty_Char)
new_esEs6(x0, x1, ty_Char)
new_lt22(x0, x1, ty_@0)
new_ltEs10(Right(x0), Right(x1), x2, ty_Bool)
new_esEs23(False, False)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, ty_@0)
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(Right(x0), Right(x1), x2, ty_@0)
new_lt18(x0, x1, x2)
new_lt19(x0, x1, x2, x3)
new_lt23(x0, x1, app(ty_Maybe, x2))
new_lt21(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Char)
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_lt22(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt23(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Integer)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_primPlusNat1(Zero, Succ(x0))
new_compare0([], [], x0)
new_lt9(x0, x1)
new_lt6(x0, x1, ty_@0)
new_esEs38(x0, x1, ty_Integer)
new_esEs14(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, ty_Int)
new_primEqNat0(Zero, Zero)
new_lt6(x0, x1, ty_Float)
new_esEs29(x0, x1, ty_Double)
new_lt5(x0, x1, ty_Char)
new_compare15(x0, x1, False, x2)
new_esEs20(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs5(x0, x1, ty_Double)
new_lt5(x0, x1, app(ty_Ratio, x2))
new_ltEs6(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_compare27(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_esEs13(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt17(x0, x1, x2, x3, x4)
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_esEs21(Just(x0), Just(x1), ty_Float)
new_esEs11(x0, x1, ty_Bool)
new_fsEs(x0)
new_ltEs5(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_lt21(x0, x1, app(ty_Maybe, x2))
new_esEs10(x0, x1, ty_Double)
new_compare31(x0, x1, app(ty_Maybe, x2))
new_lt6(x0, x1, ty_Bool)
new_lt21(x0, x1, ty_Bool)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_esEs34(x0, x1, ty_Ordering)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs32(x0, x1, ty_Bool)
new_compare7(Right(x0), Left(x1), x2, x3)
new_compare7(Left(x0), Right(x1), x2, x3)
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_esEs33(x0, x1, app(ty_Maybe, x2))
new_esEs14(x0, x1, ty_Double)
new_esEs6(x0, x1, ty_Int)
new_primMulNat0(Zero, Zero)
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(x0, x1, ty_Integer)
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_esEs12(LT)
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs31(x0, x1, ty_Double)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_primMulInt(Neg(x0), Neg(x1))
new_asAs(True, x0)
new_compare29(Char(x0), Char(x1))
new_compare18(LT, LT)
new_esEs34(x0, x1, app(ty_[], x2))
new_esEs4(x0, x1, ty_Float)
new_esEs20(Right(x0), Right(x1), x2, ty_Integer)
new_esEs10(x0, x1, ty_@0)
new_esEs8(x0, x1, ty_Double)
new_esEs21(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt23(x0, x1, ty_Bool)
new_lt23(x0, x1, ty_Double)
new_lt21(x0, x1, ty_Double)
new_esEs7(x0, x1, ty_Ordering)
new_lt10(x0, x1, x2)
new_lt23(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, ty_Float)
new_ltEs10(Left(x0), Left(x1), ty_Bool, x2)
new_esEs20(Right(x0), Right(x1), x2, ty_Ordering)
new_compare18(LT, EQ)
new_compare18(EQ, LT)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs33(x0, x1, ty_@0)
new_esEs8(x0, x1, ty_Bool)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(x0, x1, ty_Bool)
new_ltEs22(x0, x1, ty_Double)
new_primPlusNat0(Succ(x0), x1)
new_esEs7(x0, x1, ty_Char)
new_esEs33(x0, x1, ty_Int)
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs6(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs19(LT, LT)
new_esEs21(Just(x0), Just(x1), ty_Integer)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs19(EQ, GT)
new_esEs19(GT, EQ)
new_esEs33(x0, x1, ty_Integer)
new_compare26(x0, x1, True, x2, x3)
new_esEs31(x0, x1, ty_Float)
new_esEs5(x0, x1, ty_Bool)
new_esEs18(Char(x0), Char(x1))
new_ltEs24(x0, x1, ty_@0)
new_esEs37(x0, x1, app(ty_Ratio, x2))
new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(x0, x1, ty_Float)
new_esEs34(x0, x1, ty_Char)
new_esEs37(x0, x1, app(app(ty_Either, x2), x3))
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_compare19(Double(x0, x1), Double(x2, x3))
new_esEs37(x0, x1, ty_Ordering)
new_compare12(x0, x1, False, x2, x3)
new_compare110(x0, x1, x2, x3, False, x4, x5, x6)
new_esEs20(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs36(x0, x1, ty_Char)
new_esEs8(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Int)
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs38(x0, x1, ty_Float)
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(Left(x0), Left(x1), ty_@0, x2)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs31(x0, x1, app(ty_[], x2))
new_compare7(Left(x0), Left(x1), x2, x3)
new_esEs14(x0, x1, ty_@0)
new_ltEs6(Just(x0), Just(x1), ty_Integer)
new_compare6(Nothing, Nothing, x0)
new_compare31(x0, x1, ty_Double)
new_ltEs21(x0, x1, ty_Ordering)
new_primMulNat0(Succ(x0), Zero)
new_lt6(x0, x1, ty_Char)
new_ltEs10(Left(x0), Left(x1), ty_Double, x2)
new_lt22(x0, x1, app(ty_Ratio, x2))
new_compare18(LT, GT)
new_compare18(GT, LT)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs22(x0, x1, app(ty_Ratio, x2))
new_esEs15(x0, x1, app(ty_Maybe, x2))
new_compare8(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs10(Left(x0), Left(x1), ty_Ordering, x2)
new_compare5(True, True)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs16(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_compare31(x0, x1, ty_@0)
new_ltEs24(x0, x1, app(app(ty_Either, x2), x3))
new_lt16(x0, x1)
new_ltEs10(Right(x0), Right(x1), x2, ty_Ordering)
new_lt21(x0, x1, ty_Ordering)
new_esEs5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(Left(x0), Left(x1), ty_Float, x2)
new_esEs26(Integer(x0), Integer(x1))
new_ltEs23(x0, x1, app(app(ty_@2, x2), x3))
new_compare18(GT, GT)
new_ltEs23(x0, x1, ty_Double)
new_esEs4(x0, x1, ty_Bool)
new_esEs37(x0, x1, ty_@0)
new_esEs32(x0, x1, ty_Char)
new_primPlusNat1(Zero, Zero)
new_esEs38(x0, x1, ty_Double)
new_lt22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare17(Integer(x0), Integer(x1))
new_esEs6(x0, x1, ty_Float)
new_ltEs19(x0, x1, ty_Float)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs16(EQ, EQ)
new_esEs40(x0, x1, ty_Int)
new_compare28(x0, x1, True, x2)
new_lt22(x0, x1, ty_Bool)
new_esEs5(x0, x1, ty_@0)
new_primEqNat0(Succ(x0), Zero)
new_compare31(x0, x1, ty_Float)
new_lt22(x0, x1, ty_Char)
new_ltEs23(x0, x1, ty_Int)
new_esEs30(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, ty_Char)
new_ltEs21(x0, x1, app(ty_[], x2))
new_esEs4(x0, x1, ty_@0)
new_esEs29(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Integer)
new_ltEs22(x0, x1, ty_Integer)
new_esEs32(x0, x1, ty_Float)
new_lt22(x0, x1, ty_Integer)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare111(x0, x1, x2, x3, True, x4, x5)
new_esEs20(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primPlusNat1(Succ(x0), Zero)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare11(x0, x1, x2, x3, x4, x5, True, x6, x7, x8, x9)
new_esEs20(Right(x0), Right(x1), x2, ty_Int)
new_ltEs16(LT, LT)
new_esEs33(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_lt7(x0, x1, x2)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_esEs10(x0, x1, ty_Int)
new_esEs21(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs35(x0, x1, ty_Bool)
new_lt6(x0, x1, ty_Int)
new_ltEs10(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_lt23(x0, x1, ty_Char)
new_esEs4(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Ordering)
new_ltEs6(Just(x0), Just(x1), ty_@0)
new_lt20(x0, x1, ty_Ordering)
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs36(x0, x1, ty_Ordering)
new_esEs8(x0, x1, app(ty_[], x2))
new_lt23(x0, x1, ty_Int)
new_esEs33(x0, x1, app(app(ty_@2, x2), x3))
new_compare31(x0, x1, app(ty_Ratio, x2))
new_ltEs10(Left(x0), Left(x1), ty_Int, x2)
new_esEs21(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs36(x0, x1, ty_@0)
new_esEs34(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, ty_Double)
new_esEs10(x0, x1, ty_Ordering)
new_esEs11(x0, x1, app(ty_[], x2))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs37(x0, x1, app(ty_Maybe, x2))
new_ltEs16(LT, GT)
new_ltEs16(GT, LT)
new_lt6(x0, x1, app(ty_[], x2))
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_esEs20(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs8(x0, x1, ty_Char)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(x0, x1, ty_Ordering)
new_ltEs6(Just(x0), Just(x1), app(ty_[], x2))
new_esEs34(x0, x1, ty_Float)
new_esEs4(x0, x1, ty_Char)
new_esEs7(x0, x1, ty_Double)
new_esEs32(x0, x1, ty_@0)
new_ltEs19(x0, x1, ty_Char)
new_ltEs15(False, True)
new_esEs35(x0, x1, ty_Int)
new_ltEs15(True, False)
new_esEs21(Just(x0), Just(x1), ty_Double)
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs10(Right(x0), Right(x1), x2, ty_Int)
new_esEs5(x0, x1, ty_Int)
new_lt5(x0, x1, ty_Integer)
new_esEs20(Left(x0), Left(x1), ty_Integer, x2)
new_esEs20(Left(x0), Left(x1), ty_Int, x2)
new_lt5(x0, x1, ty_Int)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_compare112(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_esEs23(True, True)
new_ltEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_ltEs24(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_esEs5(x0, x1, app(ty_Maybe, x2))
new_esEs35(x0, x1, app(ty_Ratio, x2))
new_lt6(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, EQ)
new_compare13(@0, @0)
new_esEs5(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Float)
new_ltEs23(x0, x1, ty_Float)
new_esEs34(x0, x1, ty_Double)
new_ltEs10(Right(x0), Right(x1), x2, ty_Float)
new_ltEs10(Right(x0), Left(x1), x2, x3)
new_esEs5(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs22(x0, x1, ty_Bool)
new_ltEs10(Left(x0), Right(x1), x2, x3)
new_esEs36(x0, x1, app(app(ty_Either, x2), x3))
new_lt12(x0, x1)
new_ltEs19(x0, x1, ty_Bool)
new_esEs38(x0, x1, app(app(ty_@2, x2), x3))
new_esEs34(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs34(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Bool)
new_primMulNat0(Zero, Succ(x0))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs36(x0, x1, ty_Bool)
new_lt6(x0, x1, ty_Double)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_ltEs6(Just(x0), Just(x1), ty_Bool)
new_esEs14(x0, x1, ty_Int)
new_esEs33(x0, x1, ty_Float)
new_esEs31(x0, x1, ty_Int)
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs9(x0, x1, ty_Ordering)
new_primEqNat0(Zero, Succ(x0))
new_compare5(False, True)
new_compare5(True, False)
new_lt8(x0, x1)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs8(x0, x1, ty_Float)
new_compare210(x0, x1, x2, x3, True, x4, x5)
new_esEs4(x0, x1, ty_Integer)
new_esEs36(x0, x1, app(ty_Ratio, x2))
new_esEs14(x0, x1, ty_Integer)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_esEs38(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, ty_Float)
new_esEs36(x0, x1, app(ty_Maybe, x2))
new_esEs34(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(x0, x1, ty_Integer)
new_esEs37(x0, x1, ty_Bool)
new_esEs36(x0, x1, ty_Float)
new_ltEs23(x0, x1, app(ty_Ratio, x2))
new_ltEs8(x0, x1)
new_ltEs20(x0, x1, ty_@0)
new_ltEs22(x0, x1, ty_Float)
new_esEs11(x0, x1, ty_@0)
new_ltEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_compare30(@2(x0, x1), @2(x2, x3), x4, x5)
new_ltEs22(x0, x1, ty_Ordering)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_esEs39(x0, x1, ty_Integer)
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_esEs40(x0, x1, ty_Integer)
new_esEs9(x0, x1, ty_Char)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_esEs14(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, ty_Char)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_esEs10(x0, x1, ty_Float)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(Just(x0), Just(x1), ty_Float)
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Float)
new_esEs4(x0, x1, app(ty_Maybe, x2))
new_ltEs16(GT, GT)
new_esEs21(Just(x0), Just(x1), app(ty_Ratio, x2))
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_lt22(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs32(x0, x1, ty_Integer)
new_lt13(x0, x1)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_Float)
new_ltEs23(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Char)
new_esEs7(x0, x1, app(ty_[], x2))
new_esEs20(Right(x0), Right(x1), x2, ty_Char)
new_lt4(x0, x1)
new_pePe(False, x0)
new_esEs35(x0, x1, ty_@0)
new_ltEs13(x0, x1)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs24(Float(x0, x1), Float(x2, x3))
new_compare15(x0, x1, True, x2)
new_esEs22([], [], x0)
new_ltEs24(x0, x1, ty_Integer)
new_compare210(x0, x1, x2, x3, False, x4, x5)
new_lt22(x0, x1, ty_Double)
new_lt20(x0, x1, ty_Int)
new_compare9(:%(x0, x1), :%(x2, x3), ty_Integer)
new_lt22(x0, x1, ty_Int)
new_esEs17(:%(x0, x1), :%(x2, x3), x4)
new_ltEs20(x0, x1, ty_Float)
new_esEs21(Nothing, Just(x0), x1)
new_esEs33(x0, x1, app(ty_Ratio, x2))
new_ltEs22(x0, x1, ty_Char)
new_ltEs6(Just(x0), Just(x1), ty_Ordering)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs36(x0, x1, ty_Int)
new_compare9(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs20(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs21(Just(x0), Just(x1), ty_Ordering)
new_esEs14(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs31(x0, x1, ty_Integer)
new_compare110(x0, x1, x2, x3, True, x4, x5, x6)
new_ltEs24(x0, x1, app(ty_[], x2))
new_ltEs10(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs9(x0, x1, ty_Double)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs11(x0, x1)
new_ltEs10(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare12(x0, x1, True, x2, x3)
new_compare111(x0, x1, x2, x3, False, x4, x5)
new_primCmpNat0(Zero, Zero)
new_esEs32(x0, x1, app(ty_[], x2))
new_compare31(x0, x1, ty_Integer)
new_lt23(x0, x1, ty_Ordering)
new_esEs33(x0, x1, ty_Char)
new_ltEs21(x0, x1, ty_@0)
new_esEs23(False, True)
new_esEs23(True, False)
new_ltEs5(x0, x1, app(ty_[], x2))
new_compare31(x0, x1, ty_Int)
new_lt22(x0, x1, app(ty_Maybe, x2))
new_primCompAux0(x0, GT)
new_ltEs22(x0, x1, app(ty_[], x2))
new_esEs35(x0, x1, app(ty_Maybe, x2))
new_esEs22(:(x0, x1), [], x2)
new_esEs37(x0, x1, ty_Double)
new_esEs32(x0, x1, ty_Double)
new_esEs7(x0, x1, ty_Bool)
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_esEs10(x0, x1, app(ty_[], x2))
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, app(ty_[], x2))
new_compare112(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_compare0([], :(x0, x1), x2)
new_esEs11(x0, x1, ty_Float)
new_esEs5(x0, x1, ty_Integer)
new_ltEs18(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs38(x0, x1, app(ty_[], x2))
new_esEs19(GT, GT)
new_lt20(x0, x1, ty_Double)
new_primPlusNat0(Zero, x0)
new_esEs14(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs38(x0, x1, app(app(ty_Either, x2), x3))
new_lt21(x0, x1, ty_Int)
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_lt23(x0, x1, ty_@0)
new_esEs11(x0, x1, ty_Char)
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Bool)
new_esEs14(x0, x1, ty_Ordering)
new_esEs7(x0, x1, ty_@0)
new_esEs15(x0, x1, ty_Double)
new_lt21(x0, x1, ty_Char)
new_lt21(x0, x1, app(ty_[], x2))
new_sr0(Integer(x0), Integer(x1))
new_pePe(True, x0)
new_ltEs7(x0, x1)
new_esEs33(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs8(x0, x1, ty_@0)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(x0, x1, ty_Char)
new_esEs30(x0, x1, ty_Float)
new_esEs37(x0, x1, ty_Integer)
new_primCompAux1(x0, x1, x2, x3)
new_lt14(x0, x1)
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(EQ, EQ)
new_esEs30(x0, x1, ty_Double)
new_compare6(Just(x0), Just(x1), x2)
new_esEs20(Left(x0), Left(x1), ty_Double, x2)
new_compare18(EQ, GT)
new_compare18(GT, EQ)
new_esEs5(x0, x1, ty_Ordering)
new_esEs35(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs10(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs9(x0, x1, x2)
new_esEs33(x0, x1, ty_Ordering)
new_esEs7(x0, x1, ty_Int)
new_lt5(x0, x1, ty_@0)
new_esEs19(EQ, LT)
new_esEs19(LT, EQ)
new_compare10(x0, x1, False, x2, x3)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, ty_Integer)
new_esEs15(x0, x1, app(ty_[], x2))
new_compare5(False, False)
new_ltEs24(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs15(x0, x1, ty_Ordering)
new_not(True)
new_esEs15(x0, x1, app(app(ty_Either, x2), x3))
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs19(LT, GT)
new_esEs19(GT, LT)
new_esEs35(x0, x1, ty_Double)
new_ltEs23(x0, x1, ty_Ordering)
new_ltEs5(x0, x1, ty_Double)
new_esEs6(x0, x1, ty_Integer)
new_esEs15(x0, x1, ty_@0)
new_ltEs10(Left(x0), Left(x1), ty_Integer, x2)
new_esEs34(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare6(Nothing, Just(x0), x1)
new_lt6(x0, x1, ty_Ordering)
new_esEs21(Just(x0), Just(x1), ty_Char)
new_ltEs16(EQ, GT)
new_ltEs16(GT, EQ)
new_lt5(x0, x1, ty_Bool)
new_esEs20(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs6(x0, x1, ty_Ordering)
new_esEs27(@0, @0)
new_ltEs6(Just(x0), Nothing, x1)
new_compare28(x0, x1, False, x2)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_not(False)
new_ltEs16(EQ, LT)
new_ltEs16(LT, EQ)
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs34(x0, x1, ty_Bool)
new_ltEs10(Left(x0), Left(x1), ty_Float, x2)
new_ltEs6(Just(x0), Just(x1), ty_Char)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, ty_@0)
new_esEs11(x0, x1, ty_Ordering)
new_lt11(x0, x1, x2, x3)
new_compare25(x0, x1, False, x2, x3)
new_lt21(x0, x1, ty_@0)
new_lt20(x0, x1, ty_Bool)
new_esEs20(Left(x0), Left(x1), ty_Bool, x2)
new_esEs29(x0, x1, ty_@0)
new_ltEs23(x0, x1, ty_Integer)
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs12(EQ)
new_compare27(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_ltEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs31(x0, x1, ty_@0)
new_esEs21(Just(x0), Just(x1), ty_Int)
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, ty_@0)
new_compare26(x0, x1, False, x2, x3)
new_ltEs24(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Char)
new_esEs15(x0, x1, ty_Float)
new_ltEs6(Just(x0), Just(x1), app(ty_Maybe, x2))
new_ltEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, ty_Ordering)
new_esEs30(x0, x1, ty_Ordering)
new_primCmpNat0(Succ(x0), Zero)
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_asAs(False, x0)
new_esEs4(x0, x1, app(ty_[], x2))
new_ltEs6(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, ty_Double)
new_esEs35(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Right(x0), Right(x1), x2, ty_Char)
new_ltEs20(x0, x1, ty_Double)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs28(x0, x1)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, ty_Ordering)
new_esEs11(x0, x1, ty_Int)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_esEs5(x0, x1, app(ty_Ratio, x2))
new_esEs25(Double(x0, x1), Double(x2, x3))
new_ltEs21(x0, x1, ty_Double)
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_esEs15(x0, x1, ty_Int)
new_esEs22([], :(x0, x1), x2)
new_esEs38(x0, x1, ty_@0)
new_compare6(Just(x0), Nothing, x1)
new_esEs36(x0, x1, ty_Double)
new_esEs15(x0, x1, ty_Char)
new_esEs9(x0, x1, ty_@0)
new_compare14(x0, x1)
new_ltEs6(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs9(x0, x1, ty_Bool)
new_esEs35(x0, x1, ty_Char)
new_ltEs20(x0, x1, ty_Int)
new_ltEs24(x0, x1, ty_Int)
new_compare18(EQ, EQ)
new_esEs35(x0, x1, ty_Integer)
new_ltEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare10(x0, x1, True, x2, x3)
new_esEs12(GT)
new_primCompAux0(x0, LT)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_esEs31(x0, x1, ty_Bool)
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Zero), Pos(Zero))
new_lt5(x0, x1, ty_Double)
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs21(Just(x0), Just(x1), ty_Bool)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(Left(x0), Left(x1), ty_Char, x2)
new_esEs14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Right(x0), Right(x1), x2, ty_Integer)
new_esEs10(x0, x1, ty_Integer)
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(Right(x0), Right(x1), x2, ty_Float)
new_ltEs10(Right(x0), Right(x1), x2, ty_Double)
new_lt23(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, ty_Bool)
new_esEs38(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt22(x0, x1, ty_Float)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_lt5(x0, x1, app(ty_[], x2))
new_esEs36(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0(:(x0, x1), [], x2)
new_ltEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs38(x0, x1, app(ty_Ratio, x2))
new_esEs33(x0, x1, ty_Bool)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs37(x0, x1, app(ty_[], x2))
new_ltEs12(x0, x1)
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat1(Succ(x0), Succ(x1))
new_ltEs24(x0, x1, ty_Float)
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_esEs6(x0, x1, ty_@0)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_intersectFM_C2Elt102(zzz1638, zzz1639, zzz1640, zzz1641, zzz1642, zzz1643, zzz1644, zzz1645, zzz1646, zzz1647, zzz1648, False, bb, bc) → new_intersectFM_C2Elt10(zzz1638, zzz1639, zzz1640, zzz1641, zzz1642, zzz1643, zzz1644, zzz1645, zzz1646, zzz1647, zzz1648, new_gt(zzz1643, zzz1644, bc), bb, bc)
new_intersectFM_C2Elt101(zzz1605, zzz1606, zzz1607, zzz1608, zzz1609, zzz1610, zzz1611, zzz1612, zzz1613, zzz1614, zzz1615, bd, be) → new_intersectFM_C2Elt102(zzz1605, zzz1606, zzz1607, zzz1608, zzz1609, zzz1610, zzz1611, zzz1612, zzz1613, zzz1614, zzz1615, new_lt24(zzz1610, zzz1611, be), bd, be)
new_intersectFM_C2Elt10(zzz1673, zzz1674, zzz1675, zzz1676, zzz1677, zzz1678, zzz1679, zzz1680, zzz1681, zzz1682, zzz1683, True, h, ba) → new_intersectFM_C2Elt100(zzz1673, zzz1674, zzz1675, zzz1676, zzz1677, zzz1678, zzz1683, h, ba)
new_intersectFM_C2Elt102(zzz1638, zzz1639, zzz1640, zzz1641, zzz1642, zzz1643, zzz1644, zzz1645, zzz1646, Branch(zzz16470, zzz16471, zzz16472, zzz16473, zzz16474), zzz1648, True, bb, bc) → new_intersectFM_C2Elt101(zzz1638, zzz1639, zzz1640, zzz1641, zzz1642, zzz1643, zzz16470, zzz16471, zzz16472, zzz16473, zzz16474, bb, bc)
new_intersectFM_C2Elt100(zzz1638, zzz1639, zzz1640, zzz1641, zzz1642, zzz1643, Branch(zzz16470, zzz16471, zzz16472, zzz16473, zzz16474), bb, bc) → new_intersectFM_C2Elt101(zzz1638, zzz1639, zzz1640, zzz1641, zzz1642, zzz1643, zzz16470, zzz16471, zzz16472, zzz16473, zzz16474, bb, bc)

The TRS R consists of the following rules:

new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Ordering, bae) → new_ltEs16(zzz8880, zzz8890)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Double) → new_ltEs7(zzz8880, zzz8890)
new_ltEs19(zzz950, zzz953, ty_Ordering) → new_ltEs16(zzz950, zzz953)
new_esEs18(Char(zzz79800), Char(zzz80400)) → new_primEqNat0(zzz79800, zzz80400)
new_esEs30(zzz8880, zzz8890, ty_Double) → new_esEs25(zzz8880, zzz8890)
new_ltEs24(zzz8881, zzz8891, app(app(app(ty_@3, fhd), fhe), fhf)) → new_ltEs4(zzz8881, zzz8891, fhd, fhe, fhf)
new_lt12(zzz798, zzz804) → new_esEs12(new_compare16(zzz798, zzz804))
new_esEs8(zzz7981, zzz8041, ty_Double) → new_esEs25(zzz7981, zzz8041)
new_ltEs21(zzz888, zzz889, app(ty_[], bac)) → new_ltEs9(zzz888, zzz889, bac)
new_esEs5(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_lt14(zzz798, zzz804) → new_esEs12(new_compare13(zzz798, zzz804))
new_compare11(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, True, zzz1033, cah, cba, cbb) → new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, True, cah, cba, cbb)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_esEs21(Just(zzz79800), Just(zzz80400), app(app(app(ty_@3, bg), bh), ca)) → new_esEs16(zzz79800, zzz80400, bg, bh, ca)
new_esEs32(zzz79801, zzz80401, ty_@0) → new_esEs27(zzz79801, zzz80401)
new_esEs32(zzz79801, zzz80401, app(app(app(ty_@3, dfc), dfd), dfe)) → new_esEs16(zzz79801, zzz80401, dfc, dfd, dfe)
new_esEs37(zzz961, zzz963, app(app(ty_@2, bhd), bhe)) → new_esEs13(zzz961, zzz963, bhd, bhe)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_Float) → new_ltEs11(zzz8880, zzz8890)
new_lt21(zzz948, zzz951, app(ty_Maybe, ecf)) → new_lt7(zzz948, zzz951, ecf)
new_ltEs21(zzz888, zzz889, app(ty_Maybe, bab)) → new_ltEs6(zzz888, zzz889, bab)
new_ltEs19(zzz950, zzz953, ty_Float) → new_ltEs11(zzz950, zzz953)
new_ltEs6(Nothing, Just(zzz8890), bab) → True
new_esEs32(zzz79801, zzz80401, ty_Integer) → new_esEs26(zzz79801, zzz80401)
new_esEs9(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_ltEs20(zzz907, zzz908, ty_Double) → new_ltEs7(zzz907, zzz908)
new_esEs36(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_lt11(zzz798, zzz804, ga, gb) → new_esEs12(new_compare7(zzz798, zzz804, ga, gb))
new_esEs29(zzz8881, zzz8891, app(ty_[], cge)) → new_esEs22(zzz8881, zzz8891, cge)
new_esEs32(zzz79801, zzz80401, app(app(ty_Either, dfg), dfh)) → new_esEs20(zzz79801, zzz80401, dfg, dfh)
new_compare16(Float(zzz7980, zzz7981), Float(zzz8040, zzz8041)) → new_compare14(new_sr(zzz7980, zzz8040), new_sr(zzz7981, zzz8041))
new_gt(zzz1643, zzz1644, ty_Char) → new_gt9(zzz1643, zzz1644)
new_esEs38(zzz8880, zzz8890, ty_Bool) → new_esEs23(zzz8880, zzz8890)
new_esEs11(zzz7980, zzz8040, app(ty_Ratio, fga)) → new_esEs17(zzz7980, zzz8040, fga)
new_esEs10(zzz7981, zzz8041, app(app(app(ty_@3, fed), fee), fef)) → new_esEs16(zzz7981, zzz8041, fed, fee, fef)
new_esEs4(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_esEs14(zzz79801, zzz80401, app(app(ty_Either, dh), ea)) → new_esEs20(zzz79801, zzz80401, dh, ea)
new_ltEs19(zzz950, zzz953, ty_Integer) → new_ltEs14(zzz950, zzz953)
new_esEs34(zzz949, zzz952, app(ty_Maybe, ebd)) → new_esEs21(zzz949, zzz952, ebd)
new_esEs4(zzz7980, zzz8040, app(app(ty_Either, beg), bdg)) → new_esEs20(zzz7980, zzz8040, beg, bdg)
new_esEs38(zzz8880, zzz8890, app(ty_[], gac)) → new_esEs22(zzz8880, zzz8890, gac)
new_lt5(zzz8881, zzz8891, app(app(app(ty_@3, cgh), cha), chb)) → new_lt17(zzz8881, zzz8891, cgh, cha, chb)
new_ltEs20(zzz907, zzz908, app(app(ty_@2, he), hf)) → new_ltEs18(zzz907, zzz908, he, hf)
new_esEs5(zzz7980, zzz8040, app(ty_Ratio, dbc)) → new_esEs17(zzz7980, zzz8040, dbc)
new_esEs14(zzz79801, zzz80401, ty_Double) → new_esEs25(zzz79801, zzz80401)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, app(app(ty_@2, fea), feb)) → new_ltEs18(zzz8880, zzz8890, fea, feb)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Float, bae) → new_ltEs11(zzz8880, zzz8890)
new_lt5(zzz8881, zzz8891, ty_Integer) → new_lt15(zzz8881, zzz8891)
new_esEs4(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_ltEs23(zzz962, zzz964, ty_Float) → new_ltEs11(zzz962, zzz964)
new_esEs15(zzz79800, zzz80400, app(app(app(ty_@3, ef), eg), eh)) → new_esEs16(zzz79800, zzz80400, ef, eg, eh)
new_ltEs20(zzz907, zzz908, app(ty_[], gf)) → new_ltEs9(zzz907, zzz908, gf)
new_lt6(zzz8880, zzz8890, app(app(ty_@2, daf), dag)) → new_lt19(zzz8880, zzz8890, daf, dag)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Float) → new_ltEs11(zzz8880, zzz8890)
new_compare18(GT, EQ) → GT
new_esEs38(zzz8880, zzz8890, app(app(ty_Either, gad), gae)) → new_esEs20(zzz8880, zzz8890, gad, gae)
new_esEs7(zzz7982, zzz8042, app(ty_[], eeh)) → new_esEs22(zzz7982, zzz8042, eeh)
new_compare31(zzz7980, zzz8040, ty_Char) → new_compare29(zzz7980, zzz8040)
new_ltEs22(zzz900, zzz901, app(ty_Ratio, bda)) → new_ltEs17(zzz900, zzz901, bda)
new_esEs4(zzz7980, zzz8040, app(app(app(ty_@3, cdc), cdd), cde)) → new_esEs16(zzz7980, zzz8040, cdc, cdd, cde)
new_compare29(Char(zzz7980), Char(zzz8040)) → new_primCmpNat0(zzz7980, zzz8040)
new_compare110(zzz1009, zzz1010, zzz1011, zzz1012, True, zzz1014, bbf, bbg) → new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, True, bbf, bbg)
new_ltEs23(zzz962, zzz964, app(app(ty_Either, bhh), caa)) → new_ltEs10(zzz962, zzz964, bhh, caa)
new_esEs36(zzz79800, zzz80400, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_esEs33(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_lt20(zzz949, zzz952, ty_Float) → new_lt12(zzz949, zzz952)
new_lt9(zzz798, zzz804) → new_esEs12(new_compare14(zzz798, zzz804))
new_ltEs5(zzz8882, zzz8892, ty_Bool) → new_ltEs15(zzz8882, zzz8892)
new_compare30(@2(zzz7980, zzz7981), @2(zzz8040, zzz8041), cbf, cbg) → new_compare210(zzz7980, zzz7981, zzz8040, zzz8041, new_asAs(new_esEs11(zzz7980, zzz8040, cbf), new_esEs10(zzz7981, zzz8041, cbg)), cbf, cbg)
new_ltEs24(zzz8881, zzz8891, app(ty_Ratio, fhg)) → new_ltEs17(zzz8881, zzz8891, fhg)
new_lt23(zzz8880, zzz8890, ty_Bool) → new_lt4(zzz8880, zzz8890)
new_lt20(zzz949, zzz952, ty_Bool) → new_lt4(zzz949, zzz952)
new_pePe(False, zzz1074) → zzz1074
new_esEs19(GT, GT) → True
new_esEs35(zzz948, zzz951, app(app(ty_@2, edf), edg)) → new_esEs13(zzz948, zzz951, edf, edg)
new_ltEs24(zzz8881, zzz8891, ty_Integer) → new_ltEs14(zzz8881, zzz8891)
new_lt23(zzz8880, zzz8890, app(ty_Maybe, gab)) → new_lt7(zzz8880, zzz8890, gab)
new_lt21(zzz948, zzz951, app(ty_Ratio, ede)) → new_lt18(zzz948, zzz951, ede)
new_compare5(False, False) → EQ
new_compare31(zzz7980, zzz8040, ty_@0) → new_compare13(zzz7980, zzz8040)
new_esEs34(zzz949, zzz952, app(ty_Ratio, ecc)) → new_esEs17(zzz949, zzz952, ecc)
new_esEs31(zzz79802, zzz80402, app(app(ty_Either, dee), def)) → new_esEs20(zzz79802, zzz80402, dee, def)
new_ltEs22(zzz900, zzz901, ty_Ordering) → new_ltEs16(zzz900, zzz901)
new_esEs8(zzz7981, zzz8041, app(app(app(ty_@3, efc), efd), efe)) → new_esEs16(zzz7981, zzz8041, efc, efd, efe)
new_esEs33(zzz79800, zzz80400, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_lt5(zzz8881, zzz8891, ty_Char) → new_lt13(zzz8881, zzz8891)
new_esEs12(GT) → False
new_esEs9(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_compare31(zzz7980, zzz8040, ty_Int) → new_compare14(zzz7980, zzz8040)
new_ltEs19(zzz950, zzz953, ty_Int) → new_ltEs8(zzz950, zzz953)
new_compare26(zzz907, zzz908, False, gc, gd) → new_compare12(zzz907, zzz908, new_ltEs20(zzz907, zzz908, gd), gc, gd)
new_ltEs24(zzz8881, zzz8891, ty_Int) → new_ltEs8(zzz8881, zzz8891)
new_esEs9(zzz7980, zzz8040, app(app(app(ty_@3, ege), egf), egg)) → new_esEs16(zzz7980, zzz8040, ege, egf, egg)
new_esEs34(zzz949, zzz952, app(app(app(ty_@3, ebh), eca), ecb)) → new_esEs16(zzz949, zzz952, ebh, eca, ecb)
new_esEs33(zzz79800, zzz80400, app(app(app(ty_@3, dge), dgf), dgg)) → new_esEs16(zzz79800, zzz80400, dge, dgf, dgg)
new_lt22(zzz961, zzz963, ty_Float) → new_lt12(zzz961, zzz963)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_ltEs19(zzz950, zzz953, app(app(ty_Either, ead), eae)) → new_ltEs10(zzz950, zzz953, ead, eae)
new_esEs24(Float(zzz79800, zzz79801), Float(zzz80400, zzz80401)) → new_esEs28(new_sr(zzz79800, zzz80400), new_sr(zzz79801, zzz80401))
new_esEs21(Just(zzz79800), Just(zzz80400), app(ty_Maybe, ce)) → new_esEs21(zzz79800, zzz80400, ce)
new_esEs21(Nothing, Nothing, bf) → True
new_pePe(True, zzz1074) → True
new_compare0([], [], bbe) → EQ
new_primEqNat0(Zero, Zero) → True
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_Ordering) → new_ltEs16(zzz8880, zzz8890)
new_esEs5(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Char, bdg) → new_esEs18(zzz79800, zzz80400)
new_esEs32(zzz79801, zzz80401, app(ty_[], dgb)) → new_esEs22(zzz79801, zzz80401, dgb)
new_esEs12(EQ) → False
new_ltEs20(zzz907, zzz908, ty_Integer) → new_ltEs14(zzz907, zzz908)
new_esEs20(Right(zzz79800), Right(zzz80400), beg, app(ty_Maybe, bff)) → new_esEs21(zzz79800, zzz80400, bff)
new_esEs23(False, False) → True
new_ltEs16(EQ, LT) → False
new_esEs6(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_ltEs23(zzz962, zzz964, ty_Integer) → new_ltEs14(zzz962, zzz964)
new_lt6(zzz8880, zzz8890, ty_Int) → new_lt9(zzz8880, zzz8890)
new_esEs30(zzz8880, zzz8890, app(app(app(ty_@3, dab), dac), dad)) → new_esEs16(zzz8880, zzz8890, dab, dac, dad)
new_esEs31(zzz79802, zzz80402, ty_Int) → new_esEs28(zzz79802, zzz80402)
new_ltEs16(GT, EQ) → False
new_esEs38(zzz8880, zzz8890, ty_Char) → new_esEs18(zzz8880, zzz8890)
new_esEs37(zzz961, zzz963, app(ty_Maybe, bgd)) → new_esEs21(zzz961, zzz963, bgd)
new_esEs36(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_compare12(zzz991, zzz992, False, ehg, ehh) → GT
new_esEs7(zzz7982, zzz8042, app(ty_Maybe, eeg)) → new_esEs21(zzz7982, zzz8042, eeg)
new_esEs30(zzz8880, zzz8890, app(ty_[], chg)) → new_esEs22(zzz8880, zzz8890, chg)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_@0) → new_ltEs13(zzz8880, zzz8890)
new_esEs39(zzz79801, zzz80401, ty_Integer) → new_esEs26(zzz79801, zzz80401)
new_esEs21(Just(zzz79800), Just(zzz80400), app(app(ty_@2, cg), da)) → new_esEs13(zzz79800, zzz80400, cg, da)
new_esEs32(zzz79801, zzz80401, ty_Double) → new_esEs25(zzz79801, zzz80401)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_ltEs19(zzz950, zzz953, ty_Bool) → new_ltEs15(zzz950, zzz953)
new_compare210(zzz961, zzz962, zzz963, zzz964, False, bgb, bgc) → new_compare110(zzz961, zzz962, zzz963, zzz964, new_lt22(zzz961, zzz963, bgb), new_asAs(new_esEs37(zzz961, zzz963, bgb), new_ltEs23(zzz962, zzz964, bgc)), bgb, bgc)
new_lt6(zzz8880, zzz8890, app(app(ty_Either, chh), daa)) → new_lt11(zzz8880, zzz8890, chh, daa)
new_lt23(zzz8880, zzz8890, app(ty_Ratio, gba)) → new_lt18(zzz8880, zzz8890, gba)
new_esEs7(zzz7982, zzz8042, ty_Bool) → new_esEs23(zzz7982, zzz8042)
new_esEs29(zzz8881, zzz8891, app(app(ty_@2, chd), che)) → new_esEs13(zzz8881, zzz8891, chd, che)
new_ltEs20(zzz907, zzz908, app(app(app(ty_@3, ha), hb), hc)) → new_ltEs4(zzz907, zzz908, ha, hb, hc)
new_primEqInt(Neg(Succ(zzz798000)), Neg(Succ(zzz804000))) → new_primEqNat0(zzz798000, zzz804000)
new_esEs4(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_lt24(zzz1610, zzz1611, ty_@0) → new_lt14(zzz1610, zzz1611)
new_compare5(True, True) → EQ
new_compare8(@3(zzz7980, zzz7981, zzz7982), @3(zzz8040, zzz8041, zzz8042), ddf, ddg, ddh) → new_compare27(zzz7980, zzz7981, zzz7982, zzz8040, zzz8041, zzz8042, new_asAs(new_esEs9(zzz7980, zzz8040, ddf), new_asAs(new_esEs8(zzz7981, zzz8041, ddg), new_esEs7(zzz7982, zzz8042, ddh))), ddf, ddg, ddh)
new_esEs29(zzz8881, zzz8891, app(app(app(ty_@3, cgh), cha), chb)) → new_esEs16(zzz8881, zzz8891, cgh, cha, chb)
new_esEs19(EQ, EQ) → True
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)
new_ltEs21(zzz888, zzz889, ty_Int) → new_ltEs8(zzz888, zzz889)
new_esEs6(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_lt22(zzz961, zzz963, ty_Double) → new_lt8(zzz961, zzz963)
new_lt6(zzz8880, zzz8890, app(app(app(ty_@3, dab), dac), dad)) → new_lt17(zzz8880, zzz8890, dab, dac, dad)
new_esEs37(zzz961, zzz963, ty_@0) → new_esEs27(zzz961, zzz963)
new_esEs10(zzz7981, zzz8041, app(ty_Maybe, ffb)) → new_esEs21(zzz7981, zzz8041, ffb)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs35(zzz948, zzz951, ty_Ordering) → new_esEs19(zzz948, zzz951)
new_esEs8(zzz7981, zzz8041, app(app(ty_Either, efg), efh)) → new_esEs20(zzz7981, zzz8041, efg, efh)
new_primCompAux0(zzz894, GT) → GT
new_compare26(zzz907, zzz908, True, gc, gd) → EQ
new_esEs36(zzz79800, zzz80400, app(app(ty_Either, fba), fbb)) → new_esEs20(zzz79800, zzz80400, fba, fbb)
new_fsEs(zzz1069) → new_not(new_esEs19(zzz1069, GT))
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs4(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_gt(zzz1643, zzz1644, app(app(ty_Either, ceb), cec)) → new_gt1(zzz1643, zzz1644, ceb, cec)
new_esEs7(zzz7982, zzz8042, app(app(ty_@2, efa), efb)) → new_esEs13(zzz7982, zzz8042, efa, efb)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_esEs9(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_ltEs5(zzz8882, zzz8892, app(ty_Ratio, cga)) → new_ltEs17(zzz8882, zzz8892, cga)
new_compare14(zzz798, zzz804) → new_primCmpInt(zzz798, zzz804)
new_lt19(zzz798, zzz804, cbf, cbg) → new_esEs12(new_compare30(zzz798, zzz804, cbf, cbg))
new_ltEs19(zzz950, zzz953, ty_Double) → new_ltEs7(zzz950, zzz953)
new_esEs11(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_lt21(zzz948, zzz951, ty_Char) → new_lt13(zzz948, zzz951)
new_esEs7(zzz7982, zzz8042, ty_Float) → new_esEs24(zzz7982, zzz8042)
new_esEs19(EQ, LT) → False
new_esEs19(LT, EQ) → False
new_esEs30(zzz8880, zzz8890, app(app(ty_@2, daf), dag)) → new_esEs13(zzz8880, zzz8890, daf, dag)
new_ltEs24(zzz8881, zzz8891, ty_@0) → new_ltEs13(zzz8881, zzz8891)
new_esEs34(zzz949, zzz952, ty_Char) → new_esEs18(zzz949, zzz952)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Bool, bdg) → new_esEs23(zzz79800, zzz80400)
new_primEqInt(Pos(Succ(zzz798000)), Pos(Succ(zzz804000))) → new_primEqNat0(zzz798000, zzz804000)
new_esEs31(zzz79802, zzz80402, ty_Bool) → new_esEs23(zzz79802, zzz80402)
new_esEs30(zzz8880, zzz8890, ty_@0) → new_esEs27(zzz8880, zzz8890)
new_esEs21(Just(zzz79800), Just(zzz80400), app(ty_[], cf)) → new_esEs22(zzz79800, zzz80400, cf)
new_esEs14(zzz79801, zzz80401, app(app(app(ty_@3, dd), de), df)) → new_esEs16(zzz79801, zzz80401, dd, de, df)
new_ltEs21(zzz888, zzz889, ty_Float) → new_ltEs11(zzz888, zzz889)
new_ltEs14(zzz888, zzz889) → new_fsEs(new_compare17(zzz888, zzz889))
new_esEs33(zzz79800, zzz80400, app(app(ty_@2, dhe), dhf)) → new_esEs13(zzz79800, zzz80400, dhe, dhf)
new_esEs9(zzz7980, zzz8040, app(app(ty_Either, eha), ehb)) → new_esEs20(zzz7980, zzz8040, eha, ehb)
new_ltEs5(zzz8882, zzz8892, app(app(ty_@2, cgb), cgc)) → new_ltEs18(zzz8882, zzz8892, cgb, cgc)
new_ltEs24(zzz8881, zzz8891, ty_Float) → new_ltEs11(zzz8881, zzz8891)
new_primEqNat0(Succ(zzz798000), Succ(zzz804000)) → new_primEqNat0(zzz798000, zzz804000)
new_esEs25(Double(zzz79800, zzz79801), Double(zzz80400, zzz80401)) → new_esEs28(new_sr(zzz79800, zzz80400), new_sr(zzz79801, zzz80401))
new_lt22(zzz961, zzz963, ty_Char) → new_lt13(zzz961, zzz963)
new_gt(zzz1643, zzz1644, ty_Bool) → new_gt2(zzz1643, zzz1644)
new_esEs8(zzz7981, zzz8041, ty_@0) → new_esEs27(zzz7981, zzz8041)
new_lt23(zzz8880, zzz8890, ty_Double) → new_lt8(zzz8880, zzz8890)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_esEs37(zzz961, zzz963, ty_Int) → new_esEs28(zzz961, zzz963)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, app(app(ty_Either, fdc), fdd)) → new_ltEs10(zzz8880, zzz8890, fdc, fdd)
new_ltEs5(zzz8882, zzz8892, ty_Int) → new_ltEs8(zzz8882, zzz8892)
new_esEs35(zzz948, zzz951, ty_Bool) → new_esEs23(zzz948, zzz951)
new_esEs5(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_ltEs6(Just(zzz8880), Nothing, bab) → False
new_compare18(GT, LT) → GT
new_lt5(zzz8881, zzz8891, app(app(ty_Either, cgf), cgg)) → new_lt11(zzz8881, zzz8891, cgf, cgg)
new_esEs30(zzz8880, zzz8890, ty_Float) → new_esEs24(zzz8880, zzz8890)
new_compare31(zzz7980, zzz8040, app(app(app(ty_@3, ccd), cce), ccf)) → new_compare8(zzz7980, zzz8040, ccd, cce, ccf)
new_esEs29(zzz8881, zzz8891, ty_Integer) → new_esEs26(zzz8881, zzz8891)
new_ltEs24(zzz8881, zzz8891, app(ty_Maybe, fgh)) → new_ltEs6(zzz8881, zzz8891, fgh)
new_lt21(zzz948, zzz951, app(ty_[], ecg)) → new_lt10(zzz948, zzz951, ecg)
new_ltEs21(zzz888, zzz889, ty_Ordering) → new_ltEs16(zzz888, zzz889)
new_compare31(zzz7980, zzz8040, app(ty_Ratio, ccg)) → new_compare9(zzz7980, zzz8040, ccg)
new_compare31(zzz7980, zzz8040, app(ty_Maybe, cbh)) → new_compare6(zzz7980, zzz8040, cbh)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_Integer) → new_ltEs14(zzz8880, zzz8890)
new_lt20(zzz949, zzz952, ty_Char) → new_lt13(zzz949, zzz952)
new_compare28(zzz888, zzz889, False, baa) → new_compare15(zzz888, zzz889, new_ltEs21(zzz888, zzz889, baa), baa)
new_esEs9(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_esEs36(zzz79800, zzz80400, app(app(app(ty_@3, fae), faf), fag)) → new_esEs16(zzz79800, zzz80400, fae, faf, fag)
new_esEs10(zzz7981, zzz8041, ty_Char) → new_esEs18(zzz7981, zzz8041)
new_esEs28(zzz7980, zzz8040) → new_primEqInt(zzz7980, zzz8040)
new_esEs26(Integer(zzz79800), Integer(zzz80400)) → new_primEqInt(zzz79800, zzz80400)
new_esEs10(zzz7981, zzz8041, ty_Bool) → new_esEs23(zzz7981, zzz8041)
new_gt11(zzz832, zzz838) → new_esEs41(new_compare14(zzz832, zzz838))
new_lt5(zzz8881, zzz8891, app(ty_Ratio, chc)) → new_lt18(zzz8881, zzz8891, chc)
new_esEs32(zzz79801, zzz80401, app(ty_Maybe, dga)) → new_esEs21(zzz79801, zzz80401, dga)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Ordering, bdg) → new_esEs19(zzz79800, zzz80400)
new_gt3(zzz832, zzz838) → new_esEs41(new_compare13(zzz832, zzz838))
new_esEs33(zzz79800, zzz80400, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_esEs35(zzz948, zzz951, app(ty_Ratio, ede)) → new_esEs17(zzz948, zzz951, ede)
new_primEqInt(Pos(Zero), Neg(Succ(zzz804000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(zzz804000))) → False
new_esEs14(zzz79801, zzz80401, app(app(ty_@2, ed), ee)) → new_esEs13(zzz79801, zzz80401, ed, ee)
new_esEs30(zzz8880, zzz8890, app(ty_Maybe, chf)) → new_esEs21(zzz8880, zzz8890, chf)
new_esEs30(zzz8880, zzz8890, ty_Bool) → new_esEs23(zzz8880, zzz8890)
new_esEs30(zzz8880, zzz8890, app(ty_Ratio, dae)) → new_esEs17(zzz8880, zzz8890, dae)
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_esEs33(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs6(zzz7980, zzz8040, app(ty_Maybe, dch)) → new_esEs21(zzz7980, zzz8040, dch)
new_esEs20(Right(zzz79800), Right(zzz80400), beg, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs20(Right(zzz79800), Right(zzz80400), beg, app(app(app(ty_@3, beh), bfa), bfb)) → new_esEs16(zzz79800, zzz80400, beh, bfa, bfb)
new_ltEs16(EQ, EQ) → True
new_gt12(zzz832, zzz838, fab, fac, fad) → new_esEs41(new_compare8(zzz832, zzz838, fab, fac, fad))
new_lt24(zzz1610, zzz1611, ty_Bool) → new_lt4(zzz1610, zzz1611)
new_esEs20(Left(zzz79800), Left(zzz80400), app(ty_[], bed), bdg) → new_esEs22(zzz79800, zzz80400, bed)
new_primCompAux0(zzz894, LT) → LT
new_esEs33(zzz79800, zzz80400, app(app(ty_Either, dha), dhb)) → new_esEs20(zzz79800, zzz80400, dha, dhb)
new_compare18(EQ, GT) → LT
new_not(False) → True
new_esEs8(zzz7981, zzz8041, ty_Float) → new_esEs24(zzz7981, zzz8041)
new_lt21(zzz948, zzz951, app(app(ty_Either, ech), eda)) → new_lt11(zzz948, zzz951, ech, eda)
new_ltEs21(zzz888, zzz889, app(app(ty_@2, bbb), bbc)) → new_ltEs18(zzz888, zzz889, bbb, bbc)
new_esEs21(Just(zzz79800), Just(zzz80400), app(app(ty_Either, cc), cd)) → new_esEs20(zzz79800, zzz80400, cc, cd)
new_ltEs7(zzz888, zzz889) → new_fsEs(new_compare19(zzz888, zzz889))
new_esEs35(zzz948, zzz951, app(app(ty_Either, ech), eda)) → new_esEs20(zzz948, zzz951, ech, eda)
new_esEs37(zzz961, zzz963, app(ty_[], bge)) → new_esEs22(zzz961, zzz963, bge)
new_ltEs23(zzz962, zzz964, app(ty_[], bhg)) → new_ltEs9(zzz962, zzz964, bhg)
new_lt20(zzz949, zzz952, app(ty_[], ebe)) → new_lt10(zzz949, zzz952, ebe)
new_esEs10(zzz7981, zzz8041, ty_Double) → new_esEs25(zzz7981, zzz8041)
new_ltEs21(zzz888, zzz889, ty_Char) → new_ltEs12(zzz888, zzz889)
new_gt6(zzz832, zzz838, cbd, cbe) → new_esEs41(new_compare30(zzz832, zzz838, cbd, cbe))
new_compare0(:(zzz7980, zzz7981), [], bbe) → GT
new_esEs6(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_gt(zzz1643, zzz1644, ty_Float) → new_gt8(zzz1643, zzz1644)
new_esEs14(zzz79801, zzz80401, ty_Char) → new_esEs18(zzz79801, zzz80401)
new_esEs20(Right(zzz79800), Right(zzz80400), beg, app(ty_[], bfg)) → new_esEs22(zzz79800, zzz80400, bfg)
new_lt24(zzz1610, zzz1611, ty_Char) → new_lt13(zzz1610, zzz1611)
new_lt6(zzz8880, zzz8890, app(ty_[], chg)) → new_lt10(zzz8880, zzz8890, chg)
new_esEs4(zzz7980, zzz8040, app(app(ty_@2, db), dc)) → new_esEs13(zzz7980, zzz8040, db, dc)
new_ltEs22(zzz900, zzz901, ty_Int) → new_ltEs8(zzz900, zzz901)
new_esEs34(zzz949, zzz952, app(app(ty_Either, ebf), ebg)) → new_esEs20(zzz949, zzz952, ebf, ebg)
new_esEs10(zzz7981, zzz8041, app(app(ty_Either, feh), ffa)) → new_esEs20(zzz7981, zzz8041, feh, ffa)
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_esEs37(zzz961, zzz963, app(app(app(ty_@3, bgh), bha), bhb)) → new_esEs16(zzz961, zzz963, bgh, bha, bhb)
new_esEs6(zzz7980, zzz8040, app(ty_[], dda)) → new_esEs22(zzz7980, zzz8040, dda)
new_esEs7(zzz7982, zzz8042, ty_Integer) → new_esEs26(zzz7982, zzz8042)
new_primEqNat0(Zero, Succ(zzz804000)) → False
new_primEqNat0(Succ(zzz798000), Zero) → False
new_esEs29(zzz8881, zzz8891, app(ty_Ratio, chc)) → new_esEs17(zzz8881, zzz8891, chc)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_Char) → new_ltEs12(zzz8880, zzz8890)
new_esEs20(Right(zzz79800), Right(zzz80400), beg, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_compare25(zzz900, zzz901, True, bbh, bca) → EQ
new_lt13(zzz798, zzz804) → new_esEs12(new_compare29(zzz798, zzz804))
new_esEs21(Just(zzz79800), Just(zzz80400), app(ty_Ratio, cb)) → new_esEs17(zzz79800, zzz80400, cb)
new_compare31(zzz7980, zzz8040, app(app(ty_@2, cch), cda)) → new_compare30(zzz7980, zzz8040, cch, cda)
new_esEs36(zzz79800, zzz80400, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_gt7(zzz832, zzz838) → new_esEs41(new_compare18(zzz832, zzz838))
new_esEs15(zzz79800, zzz80400, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_esEs20(Right(zzz79800), Right(zzz80400), beg, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Int, bdg) → new_esEs28(zzz79800, zzz80400)
new_ltEs20(zzz907, zzz908, ty_Ordering) → new_ltEs16(zzz907, zzz908)
new_ltEs20(zzz907, zzz908, app(app(ty_Either, gg), gh)) → new_ltEs10(zzz907, zzz908, gg, gh)
new_lt20(zzz949, zzz952, app(app(ty_Either, ebf), ebg)) → new_lt11(zzz949, zzz952, ebf, ebg)
new_esEs7(zzz7982, zzz8042, ty_@0) → new_esEs27(zzz7982, zzz8042)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_esEs30(zzz8880, zzz8890, ty_Char) → new_esEs18(zzz8880, zzz8890)
new_compare0(:(zzz7980, zzz7981), :(zzz8040, zzz8041), bbe) → new_primCompAux1(zzz7980, zzz8040, new_compare0(zzz7981, zzz8041, bbe), bbe)
new_esEs20(Left(zzz79800), Left(zzz80400), app(app(app(ty_@3, bdd), bde), bdf), bdg) → new_esEs16(zzz79800, zzz80400, bdd, bde, bdf)
new_gt(zzz1643, zzz1644, ty_Ordering) → new_gt7(zzz1643, zzz1644)
new_esEs30(zzz8880, zzz8890, ty_Int) → new_esEs28(zzz8880, zzz8890)
new_esEs39(zzz79801, zzz80401, ty_Int) → new_esEs28(zzz79801, zzz80401)
new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, False, cah, cba, cbb) → GT
new_esEs19(LT, LT) → True
new_lt22(zzz961, zzz963, ty_Integer) → new_lt15(zzz961, zzz963)
new_compare11(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, False, zzz1033, cah, cba, cbb) → new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, zzz1033, cah, cba, cbb)
new_ltEs23(zzz962, zzz964, ty_Ordering) → new_ltEs16(zzz962, zzz964)
new_esEs4(zzz7980, zzz8040, app(ty_Ratio, cdf)) → new_esEs17(zzz7980, zzz8040, cdf)
new_esEs10(zzz7981, zzz8041, app(ty_[], ffc)) → new_esEs22(zzz7981, zzz8041, ffc)
new_esEs20(Right(zzz79800), Right(zzz80400), beg, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_ltEs19(zzz950, zzz953, app(app(ty_@2, ebb), ebc)) → new_ltEs18(zzz950, zzz953, ebb, ebc)
new_esEs36(zzz79800, zzz80400, app(app(ty_@2, fbe), fbf)) → new_esEs13(zzz79800, zzz80400, fbe, fbf)
new_primCompAux1(zzz7980, zzz8040, zzz883, bbe) → new_primCompAux0(zzz883, new_compare31(zzz7980, zzz8040, bbe))
new_compare31(zzz7980, zzz8040, ty_Integer) → new_compare17(zzz7980, zzz8040)
new_compare6(Just(zzz7980), Nothing, cdb) → GT
new_esEs8(zzz7981, zzz8041, ty_Bool) → new_esEs23(zzz7981, zzz8041)
new_lt20(zzz949, zzz952, app(ty_Maybe, ebd)) → new_lt7(zzz949, zzz952, ebd)
new_compare5(False, True) → LT
new_asAs(False, zzz1000) → False
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, app(app(app(ty_@3, fde), fdf), fdg)) → new_ltEs4(zzz8880, zzz8890, fde, fdf, fdg)
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_esEs36(zzz79800, zzz80400, app(ty_Maybe, fbc)) → new_esEs21(zzz79800, zzz80400, fbc)
new_esEs31(zzz79802, zzz80402, ty_Double) → new_esEs25(zzz79802, zzz80402)
new_esEs5(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_ltEs23(zzz962, zzz964, app(ty_Maybe, bhf)) → new_ltEs6(zzz962, zzz964, bhf)
new_ltEs22(zzz900, zzz901, app(app(ty_@2, bdb), bdc)) → new_ltEs18(zzz900, zzz901, bdb, bdc)
new_esEs14(zzz79801, zzz80401, ty_@0) → new_esEs27(zzz79801, zzz80401)
new_esEs21(Just(zzz79800), Nothing, bf) → False
new_esEs21(Nothing, Just(zzz80400), bf) → False
new_lt5(zzz8881, zzz8891, app(app(ty_@2, chd), che)) → new_lt19(zzz8881, zzz8891, chd, che)
new_esEs29(zzz8881, zzz8891, ty_Double) → new_esEs25(zzz8881, zzz8891)
new_esEs32(zzz79801, zzz80401, ty_Bool) → new_esEs23(zzz79801, zzz80401)
new_compare17(Integer(zzz7980), Integer(zzz8040)) → new_primCmpInt(zzz7980, zzz8040)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Int, bae) → new_ltEs8(zzz8880, zzz8890)
new_esEs10(zzz7981, zzz8041, ty_@0) → new_esEs27(zzz7981, zzz8041)
new_lt23(zzz8880, zzz8890, app(app(app(ty_@3, gaf), gag), gah)) → new_lt17(zzz8880, zzz8890, gaf, gag, gah)
new_compare13(@0, @0) → EQ
new_compare31(zzz7980, zzz8040, app(ty_[], cca)) → new_compare0(zzz7980, zzz8040, cca)
new_esEs35(zzz948, zzz951, app(ty_[], ecg)) → new_esEs22(zzz948, zzz951, ecg)
new_esEs6(zzz7980, zzz8040, app(ty_Ratio, dce)) → new_esEs17(zzz7980, zzz8040, dce)
new_compare31(zzz7980, zzz8040, app(app(ty_Either, ccb), ccc)) → new_compare7(zzz7980, zzz8040, ccb, ccc)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Integer) → new_ltEs14(zzz8880, zzz8890)
new_ltEs24(zzz8881, zzz8891, app(ty_[], fha)) → new_ltEs9(zzz8881, zzz8891, fha)
new_ltEs23(zzz962, zzz964, ty_Char) → new_ltEs12(zzz962, zzz964)
new_lt5(zzz8881, zzz8891, app(ty_[], cge)) → new_lt10(zzz8881, zzz8891, cge)
new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, False, bbf, bbg) → GT
new_lt20(zzz949, zzz952, app(ty_Ratio, ecc)) → new_lt18(zzz949, zzz952, ecc)
new_gt(zzz1643, zzz1644, app(app(app(ty_@3, ced), cee), cef)) → new_gt12(zzz1643, zzz1644, ced, cee, cef)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, app(ty_Ratio, fdh)) → new_ltEs17(zzz8880, zzz8890, fdh)
new_ltEs6(Nothing, Nothing, bab) → True
new_compare7(Right(zzz7980), Left(zzz8040), ga, gb) → GT
new_esEs34(zzz949, zzz952, ty_Integer) → new_esEs26(zzz949, zzz952)
new_esEs40(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_Bool) → new_ltEs15(zzz8880, zzz8890)
new_esEs6(zzz7980, zzz8040, app(app(ty_Either, dcf), dcg)) → new_esEs20(zzz7980, zzz8040, dcf, dcg)
new_lt20(zzz949, zzz952, ty_Ordering) → new_lt16(zzz949, zzz952)
new_lt21(zzz948, zzz951, app(app(ty_@2, edf), edg)) → new_lt19(zzz948, zzz951, edf, edg)
new_esEs11(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_esEs9(zzz7980, zzz8040, app(ty_Maybe, ehc)) → new_esEs21(zzz7980, zzz8040, ehc)
new_esEs41(GT) → True
new_esEs10(zzz7981, zzz8041, app(ty_Ratio, feg)) → new_esEs17(zzz7981, zzz8041, feg)
new_compare25(zzz900, zzz901, False, bbh, bca) → new_compare10(zzz900, zzz901, new_ltEs22(zzz900, zzz901, bbh), bbh, bca)
new_esEs6(zzz7980, zzz8040, app(app(app(ty_@3, dcb), dcc), dcd)) → new_esEs16(zzz7980, zzz8040, dcb, dcc, dcd)
new_esEs34(zzz949, zzz952, ty_Double) → new_esEs25(zzz949, zzz952)
new_esEs15(zzz79800, zzz80400, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_lt20(zzz949, zzz952, ty_Integer) → new_lt15(zzz949, zzz952)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Float, bdg) → new_esEs24(zzz79800, zzz80400)
new_esEs31(zzz79802, zzz80402, ty_Char) → new_esEs18(zzz79802, zzz80402)
new_esEs7(zzz7982, zzz8042, ty_Double) → new_esEs25(zzz7982, zzz8042)
new_compare7(Left(zzz7980), Left(zzz8040), ga, gb) → new_compare25(zzz7980, zzz8040, new_esEs5(zzz7980, zzz8040, ga), ga, gb)
new_compare7(Right(zzz7980), Right(zzz8040), ga, gb) → new_compare26(zzz7980, zzz8040, new_esEs6(zzz7980, zzz8040, gb), ga, gb)
new_esEs31(zzz79802, zzz80402, app(app(app(ty_@3, dea), deb), dec)) → new_esEs16(zzz79802, zzz80402, dea, deb, dec)
new_ltEs22(zzz900, zzz901, ty_Double) → new_ltEs7(zzz900, zzz901)
new_esEs15(zzz79800, zzz80400, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_lt5(zzz8881, zzz8891, ty_Ordering) → new_lt16(zzz8881, zzz8891)
new_esEs31(zzz79802, zzz80402, app(ty_Ratio, ded)) → new_esEs17(zzz79802, zzz80402, ded)
new_gt4(zzz832, zzz838) → new_esEs41(new_compare19(zzz832, zzz838))
new_esEs38(zzz8880, zzz8890, app(ty_Maybe, gab)) → new_esEs21(zzz8880, zzz8890, gab)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(app(ty_@2, fcg), fch), bae) → new_ltEs18(zzz8880, zzz8890, fcg, fch)
new_lt22(zzz961, zzz963, app(app(app(ty_@3, bgh), bha), bhb)) → new_lt17(zzz961, zzz963, bgh, bha, bhb)
new_lt6(zzz8880, zzz8890, app(ty_Maybe, chf)) → new_lt7(zzz8880, zzz8890, chf)
new_compare0([], :(zzz8040, zzz8041), bbe) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_esEs15(zzz79800, zzz80400, app(ty_[], ff)) → new_esEs22(zzz79800, zzz80400, ff)
new_esEs7(zzz7982, zzz8042, ty_Char) → new_esEs18(zzz7982, zzz8042)
new_gt13(zzz832, zzz838, edh) → new_esEs41(new_compare9(zzz832, zzz838, edh))
new_asAs(True, zzz1000) → zzz1000
new_ltEs22(zzz900, zzz901, ty_Float) → new_ltEs11(zzz900, zzz901)
new_esEs9(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_lt24(zzz1610, zzz1611, app(ty_Ratio, gcc)) → new_lt18(zzz1610, zzz1611, gcc)
new_ltEs5(zzz8882, zzz8892, app(ty_Maybe, cfb)) → new_ltEs6(zzz8882, zzz8892, cfb)
new_ltEs16(LT, LT) → True
new_esEs4(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_esEs14(zzz79801, zzz80401, ty_Integer) → new_esEs26(zzz79801, zzz80401)
new_lt5(zzz8881, zzz8891, ty_Int) → new_lt9(zzz8881, zzz8891)
new_lt22(zzz961, zzz963, ty_@0) → new_lt14(zzz961, zzz963)
new_ltEs23(zzz962, zzz964, ty_@0) → new_ltEs13(zzz962, zzz964)
new_ltEs20(zzz907, zzz908, ty_Int) → new_ltEs8(zzz907, zzz908)
new_esEs17(:%(zzz79800, zzz79801), :%(zzz80400, zzz80401), cdf) → new_asAs(new_esEs40(zzz79800, zzz80400, cdf), new_esEs39(zzz79801, zzz80401, cdf))
new_compare9(:%(zzz7980, zzz7981), :%(zzz8040, zzz8041), ty_Integer) → new_compare17(new_sr0(zzz7980, zzz8041), new_sr0(zzz8040, zzz7981))
new_compare6(Nothing, Just(zzz8040), cdb) → LT
new_esEs31(zzz79802, zzz80402, app(app(ty_@2, dfa), dfb)) → new_esEs13(zzz79802, zzz80402, dfa, dfb)
new_lt24(zzz1610, zzz1611, app(app(ty_Either, gbf), gbg)) → new_lt11(zzz1610, zzz1611, gbf, gbg)
new_ltEs24(zzz8881, zzz8891, ty_Bool) → new_ltEs15(zzz8881, zzz8891)
new_esEs20(Right(zzz79800), Right(zzz80400), beg, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_esEs20(Right(zzz79800), Right(zzz80400), beg, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_esEs20(Right(zzz79800), Right(zzz80400), beg, app(ty_Ratio, bfc)) → new_esEs17(zzz79800, zzz80400, bfc)
new_lt6(zzz8880, zzz8890, ty_Ordering) → new_lt16(zzz8880, zzz8890)
new_esEs8(zzz7981, zzz8041, app(ty_Ratio, eff)) → new_esEs17(zzz7981, zzz8041, eff)
new_esEs8(zzz7981, zzz8041, ty_Int) → new_esEs28(zzz7981, zzz8041)
new_esEs34(zzz949, zzz952, ty_Ordering) → new_esEs19(zzz949, zzz952)
new_primCompAux0(zzz894, EQ) → zzz894
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_not(True) → False
new_compare210(zzz961, zzz962, zzz963, zzz964, True, bgb, bgc) → EQ
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_compare31(zzz7980, zzz8040, ty_Bool) → new_compare5(zzz7980, zzz8040)
new_esEs27(@0, @0) → True
new_gt(zzz1643, zzz1644, app(ty_Ratio, ceg)) → new_gt13(zzz1643, zzz1644, ceg)
new_lt15(zzz798, zzz804) → new_esEs12(new_compare17(zzz798, zzz804))
new_lt22(zzz961, zzz963, ty_Int) → new_lt9(zzz961, zzz963)
new_esEs35(zzz948, zzz951, ty_Int) → new_esEs28(zzz948, zzz951)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Double, bdg) → new_esEs25(zzz79800, zzz80400)
new_ltEs15(True, False) → False
new_ltEs16(GT, GT) → True
new_compare7(Left(zzz7980), Right(zzz8040), ga, gb) → LT
new_ltEs5(zzz8882, zzz8892, app(app(ty_Either, cfd), cfe)) → new_ltEs10(zzz8882, zzz8892, cfd, cfe)
new_esEs10(zzz7981, zzz8041, ty_Int) → new_esEs28(zzz7981, zzz8041)
new_esEs9(zzz7980, zzz8040, app(app(ty_@2, ehe), ehf)) → new_esEs13(zzz7980, zzz8040, ehe, ehf)
new_ltEs19(zzz950, zzz953, app(ty_[], eac)) → new_ltEs9(zzz950, zzz953, eac)
new_ltEs10(Left(zzz8880), Right(zzz8890), bad, bae) → True
new_compare19(Double(zzz7980, zzz7981), Double(zzz8040, zzz8041)) → new_compare14(new_sr(zzz7980, zzz8040), new_sr(zzz7981, zzz8041))
new_compare10(zzz984, zzz985, True, ddd, dde) → LT
new_esEs14(zzz79801, zzz80401, app(ty_Maybe, eb)) → new_esEs21(zzz79801, zzz80401, eb)
new_esEs14(zzz79801, zzz80401, ty_Bool) → new_esEs23(zzz79801, zzz80401)
new_esEs11(zzz7980, zzz8040, app(ty_Maybe, fgd)) → new_esEs21(zzz7980, zzz8040, fgd)
new_esEs11(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_ltEs16(LT, GT) → True
new_lt23(zzz8880, zzz8890, ty_Char) → new_lt13(zzz8880, zzz8890)
new_compare31(zzz7980, zzz8040, ty_Double) → new_compare19(zzz7980, zzz8040)
new_esEs9(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_esEs15(zzz79800, zzz80400, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_ltEs22(zzz900, zzz901, app(app(ty_Either, bcd), bce)) → new_ltEs10(zzz900, zzz901, bcd, bce)
new_esEs20(Right(zzz79800), Left(zzz80400), beg, bdg) → False
new_esEs20(Left(zzz79800), Right(zzz80400), beg, bdg) → False
new_primMulNat0(Zero, Zero) → Zero
new_lt6(zzz8880, zzz8890, ty_Bool) → new_lt4(zzz8880, zzz8890)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, app(ty_[], fdb)) → new_ltEs9(zzz8880, zzz8890, fdb)
new_esEs11(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_esEs4(zzz7980, zzz8040, app(ty_Maybe, bf)) → new_esEs21(zzz7980, zzz8040, bf)
new_esEs4(zzz7980, zzz8040, app(ty_[], cdg)) → new_esEs22(zzz7980, zzz8040, cdg)
new_esEs20(Left(zzz79800), Left(zzz80400), app(ty_Maybe, bec), bdg) → new_esEs21(zzz79800, zzz80400, bec)
new_compare31(zzz7980, zzz8040, ty_Float) → new_compare16(zzz7980, zzz8040)
new_esEs34(zzz949, zzz952, ty_Bool) → new_esEs23(zzz949, zzz952)
new_esEs29(zzz8881, zzz8891, app(ty_Maybe, cgd)) → new_esEs21(zzz8881, zzz8891, cgd)
new_esEs15(zzz79800, zzz80400, app(app(ty_Either, fb), fc)) → new_esEs20(zzz79800, zzz80400, fb, fc)
new_lt22(zzz961, zzz963, app(app(ty_@2, bhd), bhe)) → new_lt19(zzz961, zzz963, bhd, bhe)
new_esEs35(zzz948, zzz951, ty_@0) → new_esEs27(zzz948, zzz951)
new_esEs32(zzz79801, zzz80401, ty_Float) → new_esEs24(zzz79801, zzz80401)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_Double) → new_ltEs7(zzz8880, zzz8890)
new_esEs6(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_ltEs19(zzz950, zzz953, ty_@0) → new_ltEs13(zzz950, zzz953)
new_esEs14(zzz79801, zzz80401, ty_Int) → new_esEs28(zzz79801, zzz80401)
new_esEs29(zzz8881, zzz8891, ty_Float) → new_esEs24(zzz8881, zzz8891)
new_esEs37(zzz961, zzz963, ty_Double) → new_esEs25(zzz961, zzz963)
new_esEs32(zzz79801, zzz80401, ty_Ordering) → new_esEs19(zzz79801, zzz80401)
new_esEs31(zzz79802, zzz80402, app(ty_Maybe, deg)) → new_esEs21(zzz79802, zzz80402, deg)
new_esEs35(zzz948, zzz951, ty_Double) → new_esEs25(zzz948, zzz951)
new_esEs30(zzz8880, zzz8890, ty_Ordering) → new_esEs19(zzz8880, zzz8890)
new_esEs20(Right(zzz79800), Right(zzz80400), beg, app(app(ty_Either, bfd), bfe)) → new_esEs20(zzz79800, zzz80400, bfd, bfe)
new_esEs33(zzz79800, zzz80400, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_ltEs22(zzz900, zzz901, ty_Bool) → new_ltEs15(zzz900, zzz901)
new_esEs32(zzz79801, zzz80401, ty_Int) → new_esEs28(zzz79801, zzz80401)
new_compare15(zzz977, zzz978, False, bbd) → GT
new_compare18(EQ, EQ) → EQ
new_gt5(zzz832, zzz838, cbc) → new_esEs41(new_compare0(zzz832, zzz838, cbc))
new_esEs14(zzz79801, zzz80401, app(ty_Ratio, dg)) → new_esEs17(zzz79801, zzz80401, dg)
new_esEs4(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_esEs38(zzz8880, zzz8890, ty_Ordering) → new_esEs19(zzz8880, zzz8890)
new_gt10(zzz832, zzz838, faa) → new_esEs41(new_compare6(zzz832, zzz838, faa))
new_esEs38(zzz8880, zzz8890, ty_Integer) → new_esEs26(zzz8880, zzz8890)
new_esEs8(zzz7981, zzz8041, app(ty_[], egb)) → new_esEs22(zzz7981, zzz8041, egb)
new_ltEs15(True, True) → True
new_lt21(zzz948, zzz951, app(app(app(ty_@3, edb), edc), edd)) → new_lt17(zzz948, zzz951, edb, edc, edd)
new_esEs29(zzz8881, zzz8891, ty_Char) → new_esEs18(zzz8881, zzz8891)
new_esEs34(zzz949, zzz952, ty_Float) → new_esEs24(zzz949, zzz952)
new_ltEs15(False, True) → True
new_esEs36(zzz79800, zzz80400, app(ty_[], fbd)) → new_esEs22(zzz79800, zzz80400, fbd)
new_ltEs22(zzz900, zzz901, app(ty_Maybe, bcb)) → new_ltEs6(zzz900, zzz901, bcb)
new_ltEs16(EQ, GT) → True
new_ltEs24(zzz8881, zzz8891, ty_Double) → new_ltEs7(zzz8881, zzz8891)
new_lt23(zzz8880, zzz8890, app(ty_[], gac)) → new_lt10(zzz8880, zzz8890, gac)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(app(ty_Either, fca), fcb), bae) → new_ltEs10(zzz8880, zzz8890, fca, fcb)
new_esEs31(zzz79802, zzz80402, ty_@0) → new_esEs27(zzz79802, zzz80402)
new_ltEs18(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), bbb, bbc) → new_pePe(new_lt23(zzz8880, zzz8890, bbb), new_asAs(new_esEs38(zzz8880, zzz8890, bbb), new_ltEs24(zzz8881, zzz8891, bbc)))
new_ltEs5(zzz8882, zzz8892, app(ty_[], cfc)) → new_ltEs9(zzz8882, zzz8892, cfc)
new_esEs12(LT) → True
new_ltEs15(False, False) → True
new_lt23(zzz8880, zzz8890, ty_Float) → new_lt12(zzz8880, zzz8890)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(app(app(ty_@3, fcc), fcd), fce), bae) → new_ltEs4(zzz8880, zzz8890, fcc, fcd, fce)
new_compare18(GT, GT) → EQ
new_lt5(zzz8881, zzz8891, ty_Float) → new_lt12(zzz8881, zzz8891)
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_esEs20(Right(zzz79800), Right(zzz80400), beg, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_esEs11(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_ltEs21(zzz888, zzz889, ty_Bool) → new_ltEs15(zzz888, zzz889)
new_lt22(zzz961, zzz963, app(ty_Maybe, bgd)) → new_lt7(zzz961, zzz963, bgd)
new_ltEs19(zzz950, zzz953, app(app(app(ty_@3, eaf), eag), eah)) → new_ltEs4(zzz950, zzz953, eaf, eag, eah)
new_esEs15(zzz79800, zzz80400, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_esEs29(zzz8881, zzz8891, ty_Ordering) → new_esEs19(zzz8881, zzz8891)
new_esEs10(zzz7981, zzz8041, app(app(ty_@2, ffd), ffe)) → new_esEs13(zzz7981, zzz8041, ffd, ffe)
new_esEs37(zzz961, zzz963, app(ty_Ratio, bhc)) → new_esEs17(zzz961, zzz963, bhc)
new_lt24(zzz1610, zzz1611, app(app(app(ty_@3, gbh), gca), gcb)) → new_lt17(zzz1610, zzz1611, gbh, gca, gcb)
new_lt20(zzz949, zzz952, app(app(ty_@2, ecd), ece)) → new_lt19(zzz949, zzz952, ecd, ece)
new_compare18(LT, GT) → LT
new_esEs38(zzz8880, zzz8890, ty_Int) → new_esEs28(zzz8880, zzz8890)
new_lt23(zzz8880, zzz8890, ty_Integer) → new_lt15(zzz8880, zzz8890)
new_esEs37(zzz961, zzz963, app(app(ty_Either, bgf), bgg)) → new_esEs20(zzz961, zzz963, bgf, bgg)
new_esEs7(zzz7982, zzz8042, app(app(ty_Either, eee), eef)) → new_esEs20(zzz7982, zzz8042, eee, eef)
new_lt6(zzz8880, zzz8890, app(ty_Ratio, dae)) → new_lt18(zzz8880, zzz8890, dae)
new_compare31(zzz7980, zzz8040, ty_Ordering) → new_compare18(zzz7980, zzz8040)
new_compare27(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, False, dhg, dhh, eaa) → new_compare11(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, new_lt21(zzz948, zzz951, dhg), new_asAs(new_esEs35(zzz948, zzz951, dhg), new_pePe(new_lt20(zzz949, zzz952, dhh), new_asAs(new_esEs34(zzz949, zzz952, dhh), new_ltEs19(zzz950, zzz953, eaa)))), dhg, dhh, eaa)
new_lt24(zzz1610, zzz1611, ty_Int) → new_lt9(zzz1610, zzz1611)
new_ltEs17(zzz888, zzz889, bba) → new_fsEs(new_compare9(zzz888, zzz889, bba))
new_ltEs12(zzz888, zzz889) → new_fsEs(new_compare29(zzz888, zzz889))
new_lt8(zzz798, zzz804) → new_esEs12(new_compare19(zzz798, zzz804))
new_ltEs22(zzz900, zzz901, ty_Char) → new_ltEs12(zzz900, zzz901)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_esEs20(Left(zzz79800), Left(zzz80400), app(ty_Ratio, bdh), bdg) → new_esEs17(zzz79800, zzz80400, bdh)
new_esEs14(zzz79801, zzz80401, app(ty_[], ec)) → new_esEs22(zzz79801, zzz80401, ec)
new_esEs5(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_ltEs5(zzz8882, zzz8892, ty_Float) → new_ltEs11(zzz8882, zzz8892)
new_lt22(zzz961, zzz963, app(ty_Ratio, bhc)) → new_lt18(zzz961, zzz963, bhc)
new_lt24(zzz1610, zzz1611, app(app(ty_@2, gce), gcf)) → new_lt19(zzz1610, zzz1611, gce, gcf)
new_gt(zzz1643, zzz1644, app(ty_[], cea)) → new_gt5(zzz1643, zzz1644, cea)
new_compare110(zzz1009, zzz1010, zzz1011, zzz1012, False, zzz1014, bbf, bbg) → new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, zzz1014, bbf, bbg)
new_esEs9(zzz7980, zzz8040, app(ty_[], ehd)) → new_esEs22(zzz7980, zzz8040, ehd)
new_esEs8(zzz7981, zzz8041, ty_Char) → new_esEs18(zzz7981, zzz8041)
new_gt(zzz1643, zzz1644, ty_Int) → new_gt11(zzz1643, zzz1644)
new_ltEs11(zzz888, zzz889) → new_fsEs(new_compare16(zzz888, zzz889))
new_ltEs13(zzz888, zzz889) → new_fsEs(new_compare13(zzz888, zzz889))
new_esEs10(zzz7981, zzz8041, ty_Ordering) → new_esEs19(zzz7981, zzz8041)
new_esEs8(zzz7981, zzz8041, app(ty_Maybe, ega)) → new_esEs21(zzz7981, zzz8041, ega)
new_ltEs16(LT, EQ) → True
new_lt24(zzz1610, zzz1611, app(ty_[], gbe)) → new_lt10(zzz1610, zzz1611, gbe)
new_lt23(zzz8880, zzz8890, app(app(ty_@2, gbb), gbc)) → new_lt19(zzz8880, zzz8890, gbb, gbc)
new_esEs5(zzz7980, zzz8040, app(ty_[], dbg)) → new_esEs22(zzz7980, zzz8040, dbg)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Ordering) → new_ltEs16(zzz8880, zzz8890)
new_ltEs19(zzz950, zzz953, app(ty_Ratio, eba)) → new_ltEs17(zzz950, zzz953, eba)
new_lt23(zzz8880, zzz8890, ty_@0) → new_lt14(zzz8880, zzz8890)
new_lt23(zzz8880, zzz8890, ty_Int) → new_lt9(zzz8880, zzz8890)
new_gt(zzz1643, zzz1644, app(app(ty_@2, ceh), cfa)) → new_gt6(zzz1643, zzz1644, ceh, cfa)
new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, True, bbf, bbg) → LT
new_lt20(zzz949, zzz952, app(app(app(ty_@3, ebh), eca), ecb)) → new_lt17(zzz949, zzz952, ebh, eca, ecb)
new_lt24(zzz1610, zzz1611, app(ty_Maybe, gbd)) → new_lt7(zzz1610, zzz1611, gbd)
new_ltEs20(zzz907, zzz908, ty_Char) → new_ltEs12(zzz907, zzz908)
new_ltEs20(zzz907, zzz908, app(ty_Ratio, hd)) → new_ltEs17(zzz907, zzz908, hd)
new_lt18(zzz798, zzz804, fec) → new_esEs12(new_compare9(zzz798, zzz804, fec))
new_primEqInt(Neg(Succ(zzz798000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(zzz804000))) → False
new_ltEs19(zzz950, zzz953, ty_Char) → new_ltEs12(zzz950, zzz953)
new_esEs36(zzz79800, zzz80400, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_esEs40(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_esEs7(zzz7982, zzz8042, ty_Ordering) → new_esEs19(zzz7982, zzz8042)
new_esEs6(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_esEs15(zzz79800, zzz80400, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_@0) → new_ltEs13(zzz8880, zzz8890)
new_lt6(zzz8880, zzz8890, ty_Float) → new_lt12(zzz8880, zzz8890)
new_lt6(zzz8880, zzz8890, ty_@0) → new_lt14(zzz8880, zzz8890)
new_ltEs24(zzz8881, zzz8891, app(app(ty_Either, fhb), fhc)) → new_ltEs10(zzz8881, zzz8891, fhb, fhc)
new_ltEs16(GT, LT) → False
new_lt20(zzz949, zzz952, ty_Double) → new_lt8(zzz949, zzz952)
new_lt6(zzz8880, zzz8890, ty_Double) → new_lt8(zzz8880, zzz8890)
new_esEs35(zzz948, zzz951, ty_Char) → new_esEs18(zzz948, zzz951)
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_esEs38(zzz8880, zzz8890, ty_Float) → new_esEs24(zzz8880, zzz8890)
new_lt6(zzz8880, zzz8890, ty_Char) → new_lt13(zzz8880, zzz8890)
new_ltEs23(zzz962, zzz964, ty_Double) → new_ltEs7(zzz962, zzz964)
new_compare10(zzz984, zzz985, False, ddd, dde) → GT
new_ltEs23(zzz962, zzz964, app(app(app(ty_@3, cab), cac), cad)) → new_ltEs4(zzz962, zzz964, cab, cac, cad)
new_ltEs5(zzz8882, zzz8892, ty_Ordering) → new_ltEs16(zzz8882, zzz8892)
new_esEs38(zzz8880, zzz8890, app(app(ty_@2, gbb), gbc)) → new_esEs13(zzz8880, zzz8890, gbb, gbc)
new_esEs14(zzz79801, zzz80401, ty_Ordering) → new_esEs19(zzz79801, zzz80401)
new_esEs34(zzz949, zzz952, ty_Int) → new_esEs28(zzz949, zzz952)
new_lt24(zzz1610, zzz1611, ty_Float) → new_lt12(zzz1610, zzz1611)
new_esEs36(zzz79800, zzz80400, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_compare12(zzz991, zzz992, True, ehg, ehh) → LT
new_esEs11(zzz7980, zzz8040, app(app(ty_Either, fgb), fgc)) → new_esEs20(zzz7980, zzz8040, fgb, fgc)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Bool, bae) → new_ltEs15(zzz8880, zzz8890)
new_esEs20(Right(zzz79800), Right(zzz80400), beg, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_lt10(zzz798, zzz804, bbe) → new_esEs12(new_compare0(zzz798, zzz804, bbe))
new_lt16(zzz798, zzz804) → new_esEs12(new_compare18(zzz798, zzz804))
new_compare6(Nothing, Nothing, cdb) → EQ
new_esEs30(zzz8880, zzz8890, ty_Integer) → new_esEs26(zzz8880, zzz8890)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Char) → new_ltEs12(zzz8880, zzz8890)
new_ltEs8(zzz888, zzz889) → new_fsEs(new_compare14(zzz888, zzz889))
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Float) → new_esEs24(zzz79800, zzz80400)
new_primEqInt(Pos(Succ(zzz798000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(zzz804000))) → False
new_esEs5(zzz7980, zzz8040, app(app(ty_@2, dbh), dca)) → new_esEs13(zzz7980, zzz8040, dbh, dca)
new_ltEs5(zzz8882, zzz8892, ty_@0) → new_ltEs13(zzz8882, zzz8892)
new_ltEs19(zzz950, zzz953, app(ty_Maybe, eab)) → new_ltEs6(zzz950, zzz953, eab)
new_ltEs24(zzz8881, zzz8891, app(app(ty_@2, fhh), gaa)) → new_ltEs18(zzz8881, zzz8891, fhh, gaa)
new_esEs5(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_primCmpNat0(Zero, Zero) → EQ
new_compare27(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, True, dhg, dhh, eaa) → EQ
new_esEs13(@2(zzz79800, zzz79801), @2(zzz80400, zzz80401), db, dc) → new_asAs(new_esEs15(zzz79800, zzz80400, db), new_esEs14(zzz79801, zzz80401, dc))
new_lt24(zzz1610, zzz1611, ty_Double) → new_lt8(zzz1610, zzz1611)
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_esEs36(zzz79800, zzz80400, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_ltEs21(zzz888, zzz889, app(ty_Ratio, bba)) → new_ltEs17(zzz888, zzz889, bba)
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_esEs10(zzz7981, zzz8041, ty_Float) → new_esEs24(zzz7981, zzz8041)
new_esEs37(zzz961, zzz963, ty_Float) → new_esEs24(zzz961, zzz963)
new_esEs11(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(ty_[], fbh), bae) → new_ltEs9(zzz8880, zzz8890, fbh)
new_esEs20(Left(zzz79800), Left(zzz80400), app(app(ty_Either, bea), beb), bdg) → new_esEs20(zzz79800, zzz80400, bea, beb)
new_sr0(Integer(zzz79800), Integer(zzz80410)) → Integer(new_primMulInt(zzz79800, zzz80410))
new_esEs23(True, True) → True
new_primEqInt(Pos(Succ(zzz798000)), Neg(zzz80400)) → False
new_primEqInt(Neg(Succ(zzz798000)), Pos(zzz80400)) → False
new_ltEs5(zzz8882, zzz8892, ty_Double) → new_ltEs7(zzz8882, zzz8892)
new_esEs22(:(zzz79800, zzz79801), :(zzz80400, zzz80401), cdg) → new_asAs(new_esEs36(zzz79800, zzz80400, cdg), new_esEs22(zzz79801, zzz80401, cdg))
new_ltEs6(Just(zzz8880), Just(zzz8890), app(ty_Maybe, gcg)) → new_ltEs6(zzz8880, zzz8890, gcg)
new_compare5(True, False) → GT
new_lt6(zzz8880, zzz8890, ty_Integer) → new_lt15(zzz8880, zzz8890)
new_esEs5(zzz7980, zzz8040, app(ty_Maybe, dbf)) → new_esEs21(zzz7980, zzz8040, dbf)
new_compare18(EQ, LT) → GT
new_ltEs22(zzz900, zzz901, app(app(app(ty_@3, bcf), bcg), bch)) → new_ltEs4(zzz900, zzz901, bcf, bcg, bch)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Char) → new_esEs18(zzz79800, zzz80400)
new_esEs23(True, False) → False
new_esEs23(False, True) → False
new_ltEs23(zzz962, zzz964, app(app(ty_@2, caf), cag)) → new_ltEs18(zzz962, zzz964, caf, cag)
new_esEs33(zzz79800, zzz80400, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_esEs38(zzz8880, zzz8890, app(app(app(ty_@3, gaf), gag), gah)) → new_esEs16(zzz8880, zzz8890, gaf, gag, gah)
new_esEs35(zzz948, zzz951, app(ty_Maybe, ecf)) → new_esEs21(zzz948, zzz951, ecf)
new_esEs22([], [], cdg) → True
new_esEs41(EQ) → False
new_esEs6(zzz7980, zzz8040, app(app(ty_@2, ddb), ddc)) → new_esEs13(zzz7980, zzz8040, ddb, ddc)
new_esEs15(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs11(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_esEs7(zzz7982, zzz8042, app(ty_Ratio, eed)) → new_esEs17(zzz7982, zzz8042, eed)
new_ltEs23(zzz962, zzz964, app(ty_Ratio, cae)) → new_ltEs17(zzz962, zzz964, cae)
new_esEs29(zzz8881, zzz8891, ty_Bool) → new_esEs23(zzz8881, zzz8891)
new_esEs20(Right(zzz79800), Right(zzz80400), beg, app(app(ty_@2, bfh), bga)) → new_esEs13(zzz79800, zzz80400, bfh, bga)
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_esEs8(zzz7981, zzz8041, ty_Ordering) → new_esEs19(zzz7981, zzz8041)
new_esEs33(zzz79800, zzz80400, app(ty_Ratio, dgh)) → new_esEs17(zzz79800, zzz80400, dgh)
new_esEs31(zzz79802, zzz80402, app(ty_[], deh)) → new_esEs22(zzz79802, zzz80402, deh)
new_lt21(zzz948, zzz951, ty_Bool) → new_lt4(zzz948, zzz951)
new_ltEs5(zzz8882, zzz8892, ty_Integer) → new_ltEs14(zzz8882, zzz8892)
new_lt21(zzz948, zzz951, ty_@0) → new_lt14(zzz948, zzz951)
new_gt(zzz1643, zzz1644, ty_Double) → new_gt4(zzz1643, zzz1644)
new_lt22(zzz961, zzz963, ty_Ordering) → new_lt16(zzz961, zzz963)
new_esEs34(zzz949, zzz952, ty_@0) → new_esEs27(zzz949, zzz952)
new_esEs5(zzz7980, zzz8040, app(app(app(ty_@3, dah), dba), dbb)) → new_esEs16(zzz7980, zzz8040, dah, dba, dbb)
new_esEs8(zzz7981, zzz8041, ty_Integer) → new_esEs26(zzz7981, zzz8041)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_@0, bdg) → new_esEs27(zzz79800, zzz80400)
new_esEs19(GT, LT) → False
new_esEs19(LT, GT) → False
new_esEs31(zzz79802, zzz80402, ty_Integer) → new_esEs26(zzz79802, zzz80402)
new_lt24(zzz1610, zzz1611, ty_Ordering) → new_lt16(zzz1610, zzz1611)
new_lt21(zzz948, zzz951, ty_Double) → new_lt8(zzz948, zzz951)
new_esEs5(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_esEs38(zzz8880, zzz8890, ty_@0) → new_esEs27(zzz8880, zzz8890)
new_lt23(zzz8880, zzz8890, app(app(ty_Either, gad), gae)) → new_lt11(zzz8880, zzz8890, gad, gae)
new_esEs6(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_esEs4(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_esEs30(zzz8880, zzz8890, app(app(ty_Either, chh), daa)) → new_esEs20(zzz8880, zzz8890, chh, daa)
new_esEs15(zzz79800, zzz80400, app(ty_Ratio, fa)) → new_esEs17(zzz79800, zzz80400, fa)
new_lt7(zzz798, zzz804, cdb) → new_esEs12(new_compare6(zzz798, zzz804, cdb))
new_ltEs21(zzz888, zzz889, app(app(app(ty_@3, baf), bag), bah)) → new_ltEs4(zzz888, zzz889, baf, bag, bah)
new_lt20(zzz949, zzz952, ty_@0) → new_lt14(zzz949, zzz952)
new_gt(zzz1643, zzz1644, ty_@0) → new_gt3(zzz1643, zzz1644)
new_ltEs22(zzz900, zzz901, ty_@0) → new_ltEs13(zzz900, zzz901)
new_gt1(zzz832, zzz838, hg, hh) → new_esEs41(new_compare7(zzz832, zzz838, hg, hh))
new_esEs34(zzz949, zzz952, app(ty_[], ebe)) → new_esEs22(zzz949, zzz952, ebe)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_gt(zzz1643, zzz1644, ty_Integer) → new_gt0(zzz1643, zzz1644)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(app(ty_Either, gda), gdb)) → new_ltEs10(zzz8880, zzz8890, gda, gdb)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(ty_Ratio, gdf)) → new_ltEs17(zzz8880, zzz8890, gdf)
new_esEs33(zzz79800, zzz80400, app(ty_Maybe, dhc)) → new_esEs21(zzz79800, zzz80400, dhc)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(ty_[], gch)) → new_ltEs9(zzz8880, zzz8890, gch)
new_esEs9(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_ltEs24(zzz8881, zzz8891, ty_Ordering) → new_ltEs16(zzz8881, zzz8891)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Double, bae) → new_ltEs7(zzz8880, zzz8890)
new_ltEs20(zzz907, zzz908, app(ty_Maybe, ge)) → new_ltEs6(zzz907, zzz908, ge)
new_esEs5(zzz7980, zzz8040, app(app(ty_Either, dbd), dbe)) → new_esEs20(zzz7980, zzz8040, dbd, dbe)
new_lt21(zzz948, zzz951, ty_Integer) → new_lt15(zzz948, zzz951)
new_esEs11(zzz7980, zzz8040, app(app(app(ty_@3, fff), ffg), ffh)) → new_esEs16(zzz7980, zzz8040, fff, ffg, ffh)
new_esEs9(zzz7980, zzz8040, app(ty_Ratio, egh)) → new_esEs17(zzz7980, zzz8040, egh)
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_esEs29(zzz8881, zzz8891, app(app(ty_Either, cgf), cgg)) → new_esEs20(zzz8881, zzz8891, cgf, cgg)
new_esEs37(zzz961, zzz963, ty_Bool) → new_esEs23(zzz961, zzz963)
new_ltEs22(zzz900, zzz901, ty_Integer) → new_ltEs14(zzz900, zzz901)
new_esEs37(zzz961, zzz963, ty_Char) → new_esEs18(zzz961, zzz963)
new_ltEs21(zzz888, zzz889, app(app(ty_Either, bad), bae)) → new_ltEs10(zzz888, zzz889, bad, bae)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_@0) → new_esEs27(zzz79800, zzz80400)
new_gt9(zzz832, zzz838) → new_esEs41(new_compare29(zzz832, zzz838))
new_esEs31(zzz79802, zzz80402, ty_Float) → new_esEs24(zzz79802, zzz80402)
new_compare6(Just(zzz7980), Just(zzz8040), cdb) → new_compare28(zzz7980, zzz8040, new_esEs4(zzz7980, zzz8040, cdb), cdb)
new_esEs33(zzz79800, zzz80400, app(ty_[], dhd)) → new_esEs22(zzz79800, zzz80400, dhd)
new_esEs19(GT, EQ) → False
new_esEs19(EQ, GT) → False
new_lt5(zzz8881, zzz8891, app(ty_Maybe, cgd)) → new_lt7(zzz8881, zzz8891, cgd)
new_lt5(zzz8881, zzz8891, ty_Bool) → new_lt4(zzz8881, zzz8891)
new_esEs10(zzz7981, zzz8041, ty_Integer) → new_esEs26(zzz7981, zzz8041)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(app(app(ty_@3, gdc), gdd), gde)) → new_ltEs4(zzz8880, zzz8890, gdc, gdd, gde)
new_esEs22([], :(zzz80400, zzz80401), cdg) → False
new_esEs22(:(zzz79800, zzz79801), [], cdg) → False
new_esEs5(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_lt23(zzz8880, zzz8890, ty_Ordering) → new_lt16(zzz8880, zzz8890)
new_gt2(zzz832, zzz838) → new_esEs41(new_compare5(zzz832, zzz838))
new_lt4(zzz798, zzz804) → new_esEs12(new_compare5(zzz798, zzz804))
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_esEs6(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_lt17(zzz798, zzz804, ddf, ddg, ddh) → new_esEs12(new_compare8(zzz798, zzz804, ddf, ddg, ddh))
new_ltEs20(zzz907, zzz908, ty_Bool) → new_ltEs15(zzz907, zzz908)
new_esEs33(zzz79800, zzz80400, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_esEs31(zzz79802, zzz80402, ty_Ordering) → new_esEs19(zzz79802, zzz80402)
new_gt(zzz1643, zzz1644, app(ty_Maybe, cdh)) → new_gt10(zzz1643, zzz1644, cdh)
new_lt21(zzz948, zzz951, ty_Int) → new_lt9(zzz948, zzz951)
new_esEs15(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_lt22(zzz961, zzz963, app(ty_[], bge)) → new_lt10(zzz961, zzz963, bge)
new_esEs38(zzz8880, zzz8890, ty_Double) → new_esEs25(zzz8880, zzz8890)
new_gt8(zzz832, zzz838) → new_esEs41(new_compare16(zzz832, zzz838))
new_esEs7(zzz7982, zzz8042, ty_Int) → new_esEs28(zzz7982, zzz8042)
new_ltEs5(zzz8882, zzz8892, ty_Char) → new_ltEs12(zzz8882, zzz8892)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_Int) → new_ltEs8(zzz8880, zzz8890)
new_lt21(zzz948, zzz951, ty_Ordering) → new_lt16(zzz948, zzz951)
new_ltEs23(zzz962, zzz964, ty_Bool) → new_ltEs15(zzz962, zzz964)
new_ltEs4(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), baf, bag, bah) → new_pePe(new_lt6(zzz8880, zzz8890, baf), new_asAs(new_esEs30(zzz8880, zzz8890, baf), new_pePe(new_lt5(zzz8881, zzz8891, bag), new_asAs(new_esEs29(zzz8881, zzz8891, bag), new_ltEs5(zzz8882, zzz8892, bah)))))
new_lt24(zzz1610, zzz1611, ty_Integer) → new_lt15(zzz1610, zzz1611)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, app(ty_Maybe, fda)) → new_ltEs6(zzz8880, zzz8890, fda)
new_esEs35(zzz948, zzz951, ty_Float) → new_esEs24(zzz948, zzz951)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Bool) → new_ltEs15(zzz8880, zzz8890)
new_esEs15(zzz79800, zzz80400, app(ty_Maybe, fd)) → new_esEs21(zzz79800, zzz80400, fd)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Char, bae) → new_ltEs12(zzz8880, zzz8890)
new_ltEs9(zzz888, zzz889, bac) → new_fsEs(new_compare0(zzz888, zzz889, bac))
new_esEs41(LT) → False
new_esEs20(Left(zzz79800), Left(zzz80400), app(app(ty_@2, bee), bef), bdg) → new_esEs13(zzz79800, zzz80400, bee, bef)
new_esEs32(zzz79801, zzz80401, app(ty_Ratio, dff)) → new_esEs17(zzz79801, zzz80401, dff)
new_ltEs24(zzz8881, zzz8891, ty_Char) → new_ltEs12(zzz8881, zzz8891)
new_gt0(zzz832, zzz838) → new_esEs41(new_compare17(zzz832, zzz838))
new_ltEs21(zzz888, zzz889, ty_@0) → new_ltEs13(zzz888, zzz889)
new_ltEs20(zzz907, zzz908, ty_Float) → new_ltEs11(zzz907, zzz908)
new_compare18(LT, LT) → EQ
new_ltEs10(Right(zzz8880), Left(zzz8890), bad, bae) → False
new_esEs36(zzz79800, zzz80400, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_ltEs22(zzz900, zzz901, app(ty_[], bcc)) → new_ltEs9(zzz900, zzz901, bcc)
new_lt21(zzz948, zzz951, ty_Float) → new_lt12(zzz948, zzz951)
new_esEs7(zzz7982, zzz8042, app(app(app(ty_@3, eea), eeb), eec)) → new_esEs16(zzz7982, zzz8042, eea, eeb, eec)
new_esEs34(zzz949, zzz952, app(app(ty_@2, ecd), ece)) → new_esEs13(zzz949, zzz952, ecd, ece)
new_esEs35(zzz948, zzz951, app(app(app(ty_@3, edb), edc), edd)) → new_esEs16(zzz948, zzz951, edb, edc, edd)
new_esEs6(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_esEs35(zzz948, zzz951, ty_Integer) → new_esEs26(zzz948, zzz951)
new_esEs37(zzz961, zzz963, ty_Integer) → new_esEs26(zzz961, zzz963)
new_lt5(zzz8881, zzz8891, ty_Double) → new_lt8(zzz8881, zzz8891)
new_ltEs21(zzz888, zzz889, ty_Integer) → new_ltEs14(zzz888, zzz889)
new_compare15(zzz977, zzz978, True, bbd) → LT
new_esEs8(zzz7981, zzz8041, app(app(ty_@2, egc), egd)) → new_esEs13(zzz7981, zzz8041, egc, egd)
new_ltEs21(zzz888, zzz889, ty_Double) → new_ltEs7(zzz888, zzz889)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Double) → new_esEs25(zzz79800, zzz80400)
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_lt22(zzz961, zzz963, ty_Bool) → new_lt4(zzz961, zzz963)
new_ltEs23(zzz962, zzz964, ty_Int) → new_ltEs8(zzz962, zzz964)
new_esEs11(zzz7980, zzz8040, app(app(ty_@2, fgf), fgg)) → new_esEs13(zzz7980, zzz8040, fgf, fgg)
new_esEs4(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(app(ty_@2, gdg), gdh)) → new_ltEs18(zzz8880, zzz8890, gdg, gdh)
new_esEs33(zzz79800, zzz80400, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_compare28(zzz888, zzz889, True, baa) → EQ
new_compare18(LT, EQ) → LT
new_lt20(zzz949, zzz952, ty_Int) → new_lt9(zzz949, zzz952)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Int) → new_ltEs8(zzz8880, zzz8890)
new_esEs29(zzz8881, zzz8891, ty_@0) → new_esEs27(zzz8881, zzz8891)
new_esEs9(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_esEs37(zzz961, zzz963, ty_Ordering) → new_esEs19(zzz961, zzz963)
new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, True, cah, cba, cbb) → LT
new_esEs15(zzz79800, zzz80400, app(app(ty_@2, fg), fh)) → new_esEs13(zzz79800, zzz80400, fg, fh)
new_ltEs20(zzz907, zzz908, ty_@0) → new_ltEs13(zzz907, zzz908)
new_esEs36(zzz79800, zzz80400, app(ty_Ratio, fah)) → new_esEs17(zzz79800, zzz80400, fah)
new_esEs11(zzz7980, zzz8040, app(ty_[], fge)) → new_esEs22(zzz7980, zzz8040, fge)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(ty_Ratio, fcf), bae) → new_ltEs17(zzz8880, zzz8890, fcf)
new_esEs38(zzz8880, zzz8890, app(ty_Ratio, gba)) → new_esEs17(zzz8880, zzz8890, gba)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Integer, bae) → new_ltEs14(zzz8880, zzz8890)
new_lt5(zzz8881, zzz8891, ty_@0) → new_lt14(zzz8881, zzz8891)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Integer, bdg) → new_esEs26(zzz79800, zzz80400)
new_esEs11(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_@0, bae) → new_ltEs13(zzz8880, zzz8890)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs29(zzz8881, zzz8891, ty_Int) → new_esEs28(zzz8881, zzz8891)
new_ltEs5(zzz8882, zzz8892, app(app(app(ty_@3, cff), cfg), cfh)) → new_ltEs4(zzz8882, zzz8892, cff, cfg, cfh)
new_esEs32(zzz79801, zzz80401, ty_Char) → new_esEs18(zzz79801, zzz80401)
new_compare9(:%(zzz7980, zzz7981), :%(zzz8040, zzz8041), ty_Int) → new_compare14(new_sr(zzz7980, zzz8041), new_sr(zzz8040, zzz7981))
new_ltEs10(Left(zzz8880), Left(zzz8890), app(ty_Maybe, fbg), bae) → new_ltEs6(zzz8880, zzz8890, fbg)
new_esEs32(zzz79801, zzz80401, app(app(ty_@2, dgc), dgd)) → new_esEs13(zzz79801, zzz80401, dgc, dgd)
new_lt22(zzz961, zzz963, app(app(ty_Either, bgf), bgg)) → new_lt11(zzz961, zzz963, bgf, bgg)
new_esEs14(zzz79801, zzz80401, ty_Float) → new_esEs24(zzz79801, zzz80401)
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_esEs16(@3(zzz79800, zzz79801, zzz79802), @3(zzz80400, zzz80401, zzz80402), cdc, cdd, cde) → new_asAs(new_esEs33(zzz79800, zzz80400, cdc), new_asAs(new_esEs32(zzz79801, zzz80401, cdd), new_esEs31(zzz79802, zzz80402, cde)))

The set Q consists of the following terms:

new_esEs14(x0, x1, ty_Char)
new_esEs32(x0, x1, ty_Ordering)
new_gt(x0, x1, app(ty_Maybe, x2))
new_ltEs23(x0, x1, ty_Char)
new_gt(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs6(Just(x0), Just(x1), ty_Double)
new_esEs11(x0, x1, ty_Integer)
new_ltEs23(x0, x1, app(app(ty_Either, x2), x3))
new_lt21(x0, x1, ty_Integer)
new_ltEs21(x0, x1, ty_Char)
new_esEs15(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Int)
new_esEs35(x0, x1, ty_Float)
new_ltEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs34(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, ty_Int)
new_esEs38(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Integer)
new_esEs34(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Char)
new_ltEs21(x0, x1, ty_Int)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs37(x0, x1, ty_Char)
new_ltEs6(Just(x0), Nothing, x1)
new_esEs20(Left(x0), Left(x1), ty_Int, x2)
new_ltEs10(Right(x0), Right(x1), x2, ty_Integer)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs8(x0, x1, ty_Int)
new_lt22(x0, x1, app(ty_Ratio, x2))
new_ltEs6(Just(x0), Just(x1), ty_Int)
new_ltEs15(True, True)
new_ltEs10(Right(x0), Right(x1), x2, ty_Int)
new_esEs32(x0, x1, ty_Int)
new_gt3(x0, x1)
new_esEs14(x0, x1, ty_Bool)
new_ltEs23(x0, x1, app(ty_Ratio, x2))
new_ltEs24(x0, x1, ty_Char)
new_esEs21(Just(x0), Just(x1), ty_@0)
new_esEs8(x0, x1, app(ty_[], x2))
new_esEs5(x0, x1, app(ty_Maybe, x2))
new_esEs4(x0, x1, ty_Int)
new_esEs8(x0, x1, ty_Integer)
new_ltEs23(x0, x1, ty_@0)
new_ltEs6(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_lt24(x0, x1, ty_Char)
new_compare6(Just(x0), Just(x1), x2)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_lt24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt22(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Float)
new_lt23(x0, x1, app(app(ty_@2, x2), x3))
new_lt22(x0, x1, app(ty_[], x2))
new_esEs34(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs14(x0, x1)
new_esEs10(x0, x1, ty_Bool)
new_gt(x0, x1, ty_Bool)
new_primCmpNat0(Zero, Succ(x0))
new_esEs14(x0, x1, ty_Float)
new_compare112(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_esEs36(x0, x1, ty_Integer)
new_gt6(x0, x1, x2, x3)
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs36(x0, x1, app(ty_Maybe, x2))
new_esEs33(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, app(ty_Maybe, x2))
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs10(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, ty_@0)
new_ltEs6(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, ty_Char)
new_gt(x0, x1, ty_Ordering)
new_lt23(x0, x1, ty_Integer)
new_primPlusNat1(Zero, Succ(x0))
new_lt9(x0, x1)
new_ltEs19(x0, x1, ty_Int)
new_primEqNat0(Zero, Zero)
new_esEs29(x0, x1, ty_Double)
new_esEs36(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, ty_Char)
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs21(Just(x0), Just(x1), ty_Float)
new_esEs11(x0, x1, ty_Bool)
new_esEs10(x0, x1, ty_Double)
new_esEs21(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs6(Just(x0), Just(x1), app(ty_[], x2))
new_esEs20(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs14(x0, x1, ty_Double)
new_primMulNat0(Zero, Zero)
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs7(x0, x1, ty_Integer)
new_esEs12(LT)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs31(x0, x1, ty_Double)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_primMulInt(Neg(x0), Neg(x1))
new_gt(x0, x1, app(ty_Ratio, x2))
new_lt6(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(Just(x0), Just(x1), app(ty_Ratio, x2))
new_compare18(LT, LT)
new_esEs10(x0, x1, ty_@0)
new_esEs8(x0, x1, ty_Double)
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_lt23(x0, x1, ty_Bool)
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, ty_Float)
new_compare31(x0, x1, app(ty_[], x2))
new_esEs21(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs22(x0, x1, ty_Double)
new_primPlusNat0(Succ(x0), x1)
new_compare8(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs14(x0, x1, app(ty_Maybe, x2))
new_ltEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(x0, x1, ty_Char)
new_esEs33(x0, x1, ty_Int)
new_esEs38(x0, x1, app(ty_Maybe, x2))
new_esEs20(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs19(LT, LT)
new_esEs5(x0, x1, ty_Bool)
new_esEs31(x0, x1, ty_Float)
new_esEs18(Char(x0), Char(x1))
new_ltEs24(x0, x1, ty_@0)
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_gt(x0, x1, app(app(ty_@2, x2), x3))
new_lt24(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Int)
new_esEs35(x0, x1, app(app(ty_Either, x2), x3))
new_esEs38(x0, x1, ty_Float)
new_esEs22([], :(x0, x1), x2)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_compare31(x0, x1, ty_Double)
new_esEs4(x0, x1, app(ty_[], x2))
new_primMulNat0(Succ(x0), Zero)
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_lt22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs33(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, ty_@0)
new_lt16(x0, x1)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs26(Integer(x0), Integer(x1))
new_compare18(GT, GT)
new_esEs4(x0, x1, ty_Bool)
new_gt5(x0, x1, x2)
new_esEs37(x0, x1, ty_@0)
new_compare17(Integer(x0), Integer(x1))
new_lt17(x0, x1, x2, x3, x4)
new_esEs6(x0, x1, ty_Float)
new_ltEs16(EQ, EQ)
new_esEs40(x0, x1, ty_Int)
new_esEs20(Left(x0), Left(x1), ty_Float, x2)
new_lt22(x0, x1, ty_Bool)
new_ltEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(x0, x1, ty_@0)
new_lt22(x0, x1, ty_Char)
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(x0, x1, ty_Char)
new_esEs29(x0, x1, ty_Integer)
new_ltEs22(x0, x1, ty_Integer)
new_lt22(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_ltEs16(LT, LT)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_esEs35(x0, x1, ty_Bool)
new_lt6(x0, x1, ty_Int)
new_lt23(x0, x1, ty_Char)
new_esEs4(x0, x1, ty_Double)
new_lt5(x0, x1, app(ty_Ratio, x2))
new_ltEs6(Just(x0), Just(x1), ty_@0)
new_esEs36(x0, x1, ty_Ordering)
new_compare26(x0, x1, True, x2, x3)
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(x0, x1, ty_Double)
new_esEs34(x0, x1, ty_Float)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(x0, x1, ty_Double)
new_esEs32(x0, x1, ty_@0)
new_esEs4(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_ltEs22(x0, x1, app(ty_Maybe, x2))
new_esEs21(Just(x0), Just(x1), ty_Double)
new_gt11(x0, x1)
new_gt(x0, x1, app(ty_[], x2))
new_esEs5(x0, x1, ty_Int)
new_lt23(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Int)
new_esEs23(True, True)
new_ltEs5(x0, x1, ty_@0)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs17(x0, x1, x2)
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_lt24(x0, x1, ty_Float)
new_esEs20(Right(x0), Right(x1), x2, ty_@0)
new_primMulNat0(Zero, Succ(x0))
new_esEs36(x0, x1, ty_Bool)
new_lt6(x0, x1, ty_Double)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_ltEs6(Just(x0), Just(x1), ty_Bool)
new_primEqInt(Neg(Zero), Neg(Zero))
new_ltEs24(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, ty_Ordering)
new_primEqNat0(Zero, Succ(x0))
new_compare5(False, True)
new_compare5(True, False)
new_esEs8(x0, x1, ty_Float)
new_esEs20(Right(x0), Right(x1), x2, ty_Bool)
new_esEs14(x0, x1, ty_Integer)
new_esEs37(x0, x1, app(app(ty_Either, x2), x3))
new_esEs37(x0, x1, ty_Bool)
new_ltEs8(x0, x1)
new_ltEs20(x0, x1, ty_@0)
new_ltEs22(x0, x1, ty_Float)
new_esEs11(x0, x1, ty_@0)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_primCompAux1(x0, x1, x2, x3)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs39(x0, x1, ty_Integer)
new_esEs40(x0, x1, ty_Integer)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs20(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs10(x0, x1, ty_Float)
new_esEs33(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs6(Just(x0), Just(x1), ty_Float)
new_ltEs23(x0, x1, app(ty_Maybe, x2))
new_ltEs16(GT, GT)
new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(Left(x0), Left(x1), ty_Double, x2)
new_esEs32(x0, x1, ty_Integer)
new_lt13(x0, x1)
new_ltEs10(Right(x0), Right(x1), x2, ty_Char)
new_compare31(x0, x1, ty_Char)
new_esEs20(Left(x0), Left(x1), ty_Bool, x2)
new_lt4(x0, x1)
new_esEs35(x0, x1, ty_@0)
new_esEs24(Float(x0, x1), Float(x2, x3))
new_ltEs10(Left(x0), Left(x1), ty_@0, x2)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs24(x0, x1, ty_Integer)
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt20(x0, x1, ty_Int)
new_lt22(x0, x1, ty_Int)
new_compare15(x0, x1, True, x2)
new_ltEs22(x0, x1, ty_Char)
new_ltEs6(Just(x0), Just(x1), ty_Ordering)
new_esEs36(x0, x1, ty_Int)
new_compare6(Nothing, Nothing, x0)
new_compare9(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_esEs31(x0, x1, ty_Integer)
new_ltEs11(x0, x1)
new_compare31(x0, x1, app(ty_Ratio, x2))
new_esEs5(x0, x1, app(ty_[], x2))
new_gt7(x0, x1)
new_esEs21(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_compare7(Left(x0), Left(x1), x2, x3)
new_lt23(x0, x1, ty_Ordering)
new_esEs33(x0, x1, ty_Char)
new_esEs23(False, True)
new_esEs23(True, False)
new_ltEs21(x0, x1, ty_@0)
new_esEs5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs37(x0, x1, ty_Double)
new_compare12(x0, x1, False, x2, x3)
new_lt24(x0, x1, app(ty_Maybe, x2))
new_esEs36(x0, x1, app(ty_Ratio, x2))
new_esEs5(x0, x1, ty_Integer)
new_ltEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare7(Right(x0), Left(x1), x2, x3)
new_compare7(Left(x0), Right(x1), x2, x3)
new_ltEs24(x0, x1, app(ty_[], x2))
new_esEs19(GT, GT)
new_lt20(x0, x1, ty_Double)
new_primPlusNat0(Zero, x0)
new_lt21(x0, x1, ty_Int)
new_esEs11(x0, x1, ty_Char)
new_lt6(x0, x1, app(ty_Maybe, x2))
new_lt21(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, ty_Bool)
new_esEs7(x0, x1, ty_@0)
new_lt21(x0, x1, ty_Char)
new_esEs15(x0, x1, ty_Double)
new_compare6(Just(x0), Nothing, x1)
new_gt13(x0, x1, x2)
new_esEs8(x0, x1, ty_@0)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_lt14(x0, x1)
new_esEs30(x0, x1, ty_Double)
new_ltEs10(Left(x0), Right(x1), x2, x3)
new_ltEs10(Right(x0), Left(x1), x2, x3)
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_esEs6(x0, x1, app(ty_[], x2))
new_esEs5(x0, x1, ty_Ordering)
new_esEs33(x0, x1, ty_Ordering)
new_esEs7(x0, x1, ty_Int)
new_esEs20(Right(x0), Right(x1), x2, ty_Char)
new_lt24(x0, x1, app(ty_[], x2))
new_esEs19(LT, EQ)
new_esEs19(EQ, LT)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_not(True)
new_esEs20(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs35(x0, x1, ty_Double)
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs15(x0, x1, ty_@0)
new_esEs6(x0, x1, ty_Integer)
new_ltEs16(GT, EQ)
new_ltEs16(EQ, GT)
new_esEs6(x0, x1, ty_Ordering)
new_esEs27(@0, @0)
new_lt18(x0, x1, x2)
new_gt(x0, x1, ty_Float)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_not(False)
new_ltEs16(EQ, LT)
new_ltEs16(LT, EQ)
new_esEs11(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_esEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, ty_@0)
new_ltEs10(Right(x0), Right(x1), x2, ty_Double)
new_ltEs24(x0, x1, app(app(ty_Either, x2), x3))
new_esEs12(EQ)
new_esEs22([], [], x0)
new_esEs20(Left(x0), Left(x1), ty_Char, x2)
new_esEs31(x0, x1, ty_@0)
new_esEs20(Right(x0), Right(x1), x2, ty_Int)
new_lt20(x0, x1, ty_@0)
new_esEs35(x0, x1, app(ty_Maybe, x2))
new_ltEs23(x0, x1, app(ty_[], x2))
new_primCmpNat0(Succ(x0), Zero)
new_asAs(False, x0)
new_esEs14(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs20(x0, x1, ty_Double)
new_compare0([], [], x0)
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs11(x0, x1, ty_Int)
new_compare31(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, ty_@0)
new_esEs15(x0, x1, ty_Char)
new_compare25(x0, x1, True, x2, x3)
new_esEs12(GT)
new_primCompAux0(x0, LT)
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Pos(Zero))
new_lt5(x0, x1, ty_Double)
new_lt5(x0, x1, app(ty_[], x2))
new_esEs36(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs30(x0, x1, ty_Bool)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_gt12(x0, x1, x2, x3, x4)
new_lt22(x0, x1, ty_Float)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Left(x0), Left(x1), ty_Integer, x2)
new_esEs33(x0, x1, ty_Bool)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs12(x0, x1)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_primPlusNat1(Succ(x0), Succ(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_esEs35(x0, x1, app(ty_[], x2))
new_lt6(x0, x1, ty_Integer)
new_esEs34(x0, x1, app(ty_Maybe, x2))
new_esEs38(x0, x1, app(ty_[], x2))
new_gt(x0, x1, ty_Double)
new_esEs34(x0, x1, ty_@0)
new_ltEs10(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_Bool)
new_esEs35(x0, x1, app(ty_Ratio, x2))
new_lt11(x0, x1, x2, x3)
new_lt22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs39(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Double)
new_lt21(x0, x1, ty_Float)
new_lt20(x0, x1, ty_Integer)
new_lt23(x0, x1, app(ty_[], x2))
new_esEs37(x0, x1, ty_Int)
new_esEs36(x0, x1, app(ty_[], x2))
new_lt5(x0, x1, ty_Ordering)
new_esEs20(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs38(x0, x1, ty_Char)
new_ltEs5(x0, x1, ty_Bool)
new_gt8(x0, x1)
new_esEs20(Left(x0), Right(x1), x2, x3)
new_esEs20(Right(x0), Left(x1), x2, x3)
new_ltEs19(x0, x1, ty_Integer)
new_ltEs9(x0, x1, x2)
new_esEs16(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs24(x0, x1, ty_Bool)
new_compare27(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs33(x0, x1, ty_Double)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_compare28(x0, x1, False, x2)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_gt10(x0, x1, x2)
new_compare16(Float(x0, x1), Float(x2, x3))
new_gt(x0, x1, ty_Char)
new_ltEs24(x0, x1, ty_Double)
new_esEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(x0, x1, app(ty_Maybe, x2))
new_esEs14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_ltEs6(Nothing, Nothing, x0)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_lt23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs31(x0, x1, ty_Char)
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, ty_Ordering)
new_esEs37(x0, x1, ty_Float)
new_esEs34(x0, x1, ty_Int)
new_ltEs15(False, False)
new_compare110(x0, x1, x2, x3, True, x4, x5, x6)
new_lt23(x0, x1, ty_Float)
new_ltEs21(x0, x1, ty_Bool)
new_esEs38(x0, x1, ty_Int)
new_esEs38(x0, x1, ty_Ordering)
new_esEs31(x0, x1, ty_Ordering)
new_esEs20(Right(x0), Right(x1), x2, ty_Double)
new_ltEs23(x0, x1, ty_Bool)
new_ltEs22(x0, x1, ty_Int)
new_ltEs10(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs6(Nothing, Just(x0), x1)
new_sr(x0, x1)
new_compare111(x0, x1, x2, x3, False, x4, x5)
new_ltEs22(x0, x1, ty_@0)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs15(x0, x1, ty_Bool)
new_gt(x0, x1, ty_Int)
new_gt(x0, x1, ty_@0)
new_esEs35(x0, x1, ty_Ordering)
new_compare26(x0, x1, False, x2, x3)
new_lt15(x0, x1)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(x0, x1, ty_Int)
new_esEs13(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs10(x0, x1, ty_Char)
new_esEs6(x0, x1, ty_Char)
new_lt22(x0, x1, ty_@0)
new_esEs23(False, False)
new_gt0(x0, x1)
new_esEs33(x0, x1, app(ty_Maybe, x2))
new_lt24(x0, x1, app(app(ty_Either, x2), x3))
new_lt21(x0, x1, app(ty_Maybe, x2))
new_lt24(x0, x1, ty_Integer)
new_gt(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, ty_Integer)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_lt6(x0, x1, ty_@0)
new_esEs38(x0, x1, ty_Integer)
new_lt6(x0, x1, ty_Float)
new_esEs5(x0, x1, ty_Double)
new_ltEs10(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_fsEs(x0)
new_ltEs5(x0, x1, ty_Ordering)
new_ltEs10(Left(x0), Left(x1), ty_Double, x2)
new_lt6(x0, x1, ty_Bool)
new_esEs38(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare6(Nothing, Just(x0), x1)
new_lt21(x0, x1, ty_Bool)
new_esEs34(x0, x1, ty_Ordering)
new_esEs32(x0, x1, ty_Bool)
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_lt23(x0, x1, app(ty_Maybe, x2))
new_esEs5(x0, x1, app(ty_Ratio, x2))
new_esEs6(x0, x1, ty_Int)
new_ltEs10(Left(x0), Left(x1), ty_Int, x2)
new_compare29(Char(x0), Char(x1))
new_asAs(True, x0)
new_esEs4(x0, x1, ty_Float)
new_lt23(x0, x1, ty_Double)
new_lt21(x0, x1, ty_Double)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(x0, x1, ty_Ordering)
new_lt23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare18(LT, EQ)
new_compare18(EQ, LT)
new_esEs37(x0, x1, app(ty_Ratio, x2))
new_esEs33(x0, x1, ty_@0)
new_esEs8(x0, x1, ty_Bool)
new_esEs6(x0, x1, ty_Bool)
new_ltEs6(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs21(Nothing, Just(x0), x1)
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(Just(x0), Just(x1), ty_Integer)
new_esEs33(x0, x1, ty_Integer)
new_esEs19(EQ, GT)
new_esEs19(GT, EQ)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs34(x0, x1, ty_Char)
new_ltEs5(x0, x1, ty_Float)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt24(x0, x1, ty_Bool)
new_ltEs22(x0, x1, app(ty_[], x2))
new_compare19(Double(x0, x1), Double(x2, x3))
new_esEs37(x0, x1, ty_Ordering)
new_ltEs10(Right(x0), Right(x1), x2, ty_@0)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_esEs36(x0, x1, ty_Char)
new_esEs8(x0, x1, ty_Ordering)
new_ltEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs41(GT)
new_esEs34(x0, x1, app(ty_Ratio, x2))
new_esEs37(x0, x1, app(app(ty_@2, x2), x3))
new_lt24(x0, x1, ty_@0)
new_esEs34(x0, x1, app(ty_[], x2))
new_lt10(x0, x1, x2)
new_esEs14(x0, x1, ty_@0)
new_lt22(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs6(Just(x0), Just(x1), ty_Integer)
new_ltEs21(x0, x1, ty_Ordering)
new_esEs38(x0, x1, app(ty_Ratio, x2))
new_lt6(x0, x1, ty_Char)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_compare18(GT, LT)
new_compare18(LT, GT)
new_esEs15(x0, x1, app(app(ty_@2, x2), x3))
new_compare5(True, True)
new_esEs20(Left(x0), Left(x1), ty_Integer, x2)
new_lt21(x0, x1, ty_Ordering)
new_esEs15(x0, x1, app(ty_Maybe, x2))
new_ltEs23(x0, x1, ty_Double)
new_esEs20(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs32(x0, x1, ty_Char)
new_primPlusNat1(Zero, Zero)
new_esEs38(x0, x1, ty_Double)
new_esEs20(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs37(x0, x1, app(ty_Maybe, x2))
new_ltEs19(x0, x1, ty_Float)
new_esEs15(x0, x1, app(ty_[], x2))
new_lt24(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Zero)
new_compare31(x0, x1, ty_Float)
new_ltEs23(x0, x1, ty_Int)
new_esEs4(x0, x1, ty_@0)
new_compare12(x0, x1, True, x2, x3)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, ty_Integer)
new_esEs32(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primPlusNat1(Succ(x0), Zero)
new_esEs22(:(x0, x1), [], x2)
new_esEs10(x0, x1, ty_Int)
new_ltEs5(x0, x1, app(ty_[], x2))
new_ltEs10(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs14(x0, x1, app(ty_[], x2))
new_compare111(x0, x1, x2, x3, True, x4, x5)
new_compare210(x0, x1, x2, x3, True, x4, x5)
new_esEs21(Just(x0), Nothing, x1)
new_ltEs19(x0, x1, ty_Ordering)
new_esEs41(EQ)
new_compare7(Right(x0), Right(x1), x2, x3)
new_lt20(x0, x1, ty_Ordering)
new_ltEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt23(x0, x1, ty_Int)
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt24(x0, x1, ty_Int)
new_esEs36(x0, x1, ty_@0)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(ty_[], x2))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs16(LT, GT)
new_lt24(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs16(GT, LT)
new_esEs8(x0, x1, ty_Char)
new_esEs4(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, ty_Char)
new_esEs34(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs15(True, False)
new_esEs35(x0, x1, ty_Int)
new_ltEs15(False, True)
new_compare0(:(x0, x1), [], x2)
new_ltEs10(Right(x0), Right(x1), x2, ty_Float)
new_esEs17(:%(x0, x1), :%(x2, x3), x4)
new_ltEs18(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt5(x0, x1, ty_Integer)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_compare0([], :(x0, x1), x2)
new_primCompAux0(x0, EQ)
new_lt24(x0, x1, ty_Double)
new_esEs15(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(Left(x0), Left(x1), ty_@0, x2)
new_compare13(@0, @0)
new_esEs9(x0, x1, ty_Float)
new_ltEs23(x0, x1, ty_Float)
new_esEs5(x0, x1, ty_Float)
new_esEs34(x0, x1, ty_Double)
new_ltEs22(x0, x1, ty_Bool)
new_lt12(x0, x1)
new_ltEs19(x0, x1, ty_Bool)
new_lt7(x0, x1, x2)
new_ltEs20(x0, x1, ty_Bool)
new_esEs14(x0, x1, ty_Int)
new_gt1(x0, x1, x2, x3)
new_esEs33(x0, x1, ty_Float)
new_esEs31(x0, x1, ty_Int)
new_lt8(x0, x1)
new_esEs4(x0, x1, ty_Integer)
new_compare112(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_esEs37(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare11(x0, x1, x2, x3, x4, x5, False, x6, x7, x8, x9)
new_esEs7(x0, x1, ty_Float)
new_ltEs10(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs36(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(x0, x1, ty_Integer)
new_esEs36(x0, x1, ty_Float)
new_ltEs22(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, ty_Char)
new_esEs30(x0, x1, ty_Char)
new_compare28(x0, x1, True, x2)
new_esEs31(x0, x1, app(ty_[], x2))
new_lt5(x0, x1, ty_Float)
new_compare110(x0, x1, x2, x3, False, x4, x5, x6)
new_esEs32(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, ty_Float)
new_esEs21(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_gt(x0, x1, ty_Integer)
new_pePe(False, x0)
new_ltEs13(x0, x1)
new_esEs35(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Left(x0), Left(x1), ty_Char, x2)
new_lt22(x0, x1, ty_Double)
new_esEs7(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, app(ty_[], x2))
new_compare9(:%(x0, x1), :%(x2, x3), ty_Integer)
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Float)
new_compare11(x0, x1, x2, x3, x4, x5, True, x6, x7, x8, x9)
new_esEs21(Just(x0), Just(x1), ty_Ordering)
new_compare31(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs9(x0, x1, ty_Double)
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_ltEs10(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_esEs35(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, app(ty_[], x2))
new_esEs33(x0, x1, app(ty_[], x2))
new_primCmpNat0(Zero, Zero)
new_compare31(x0, x1, ty_Integer)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare10(x0, x1, True, x2, x3)
new_compare25(x0, x1, False, x2, x3)
new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_compare31(x0, x1, ty_Int)
new_primCompAux0(x0, GT)
new_lt22(x0, x1, app(ty_Maybe, x2))
new_esEs20(Right(x0), Right(x1), x2, ty_Float)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs32(x0, x1, ty_Double)
new_esEs7(x0, x1, ty_Bool)
new_lt19(x0, x1, x2, x3)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(:(x0, x1), :(x2, x3), x4)
new_esEs11(x0, x1, ty_Float)
new_esEs21(Nothing, Nothing, x0)
new_esEs20(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt23(x0, x1, ty_@0)
new_esEs20(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs14(x0, x1, ty_Ordering)
new_esEs20(Right(x0), Right(x1), x2, ty_Ordering)
new_gt2(x0, x1)
new_pePe(True, x0)
new_sr0(Integer(x0), Integer(x1))
new_ltEs7(x0, x1)
new_esEs5(x0, x1, ty_Char)
new_esEs30(x0, x1, ty_Float)
new_esEs37(x0, x1, ty_Integer)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_esEs19(EQ, EQ)
new_compare15(x0, x1, False, x2)
new_esEs41(LT)
new_compare18(EQ, GT)
new_compare18(GT, EQ)
new_esEs38(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs14(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, ty_@0)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs21(x0, x1, ty_Integer)
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_gt4(x0, x1)
new_compare5(False, False)
new_esEs15(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(LT, GT)
new_esEs19(GT, LT)
new_ltEs23(x0, x1, ty_Ordering)
new_ltEs5(x0, x1, ty_Double)
new_gt9(x0, x1)
new_lt6(x0, x1, ty_Ordering)
new_esEs21(Just(x0), Just(x1), ty_Char)
new_lt5(x0, x1, ty_Bool)
new_esEs15(x0, x1, app(ty_Ratio, x2))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs33(x0, x1, app(app(ty_@2, x2), x3))
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_esEs34(x0, x1, ty_Bool)
new_ltEs6(Just(x0), Just(x1), ty_Char)
new_ltEs19(x0, x1, ty_@0)
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_lt21(x0, x1, ty_@0)
new_esEs20(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs23(x0, x1, ty_Integer)
new_esEs21(Just(x0), Just(x1), ty_Int)
new_esEs37(x0, x1, app(ty_[], x2))
new_ltEs24(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Char)
new_esEs15(x0, x1, ty_Float)
new_esEs29(x0, x1, ty_Ordering)
new_esEs30(x0, x1, ty_Ordering)
new_ltEs10(Left(x0), Left(x1), ty_Float, x2)
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(x0, x1, ty_Double)
new_esEs38(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs28(x0, x1)
new_esEs14(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_esEs25(Double(x0, x1), Double(x2, x3))
new_ltEs21(x0, x1, ty_Double)
new_esEs15(x0, x1, ty_Int)
new_esEs38(x0, x1, ty_@0)
new_esEs36(x0, x1, ty_Double)
new_compare14(x0, x1)
new_esEs9(x0, x1, ty_Bool)
new_esEs35(x0, x1, ty_Char)
new_ltEs20(x0, x1, ty_Int)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs24(x0, x1, ty_Int)
new_compare18(EQ, EQ)
new_esEs20(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs35(x0, x1, ty_Integer)
new_compare210(x0, x1, x2, x3, False, x4, x5)
new_compare10(x0, x1, False, x2, x3)
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs31(x0, x1, ty_Bool)
new_esEs21(Just(x0), Just(x1), ty_Bool)
new_esEs21(Just(x0), Just(x1), app(ty_Ratio, x2))
new_lt21(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(x0, x1, ty_Integer)
new_ltEs6(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, app(ty_[], x2))
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_ltEs24(x0, x1, app(ty_Maybe, x2))
new_lt6(x0, x1, app(ty_[], x2))
new_compare30(@2(x0, x1), @2(x2, x3), x4, x5)
new_ltEs22(x0, x1, app(ty_Ratio, x2))
new_primCmpNat0(Succ(x0), Succ(x1))
new_ltEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primMulInt(Pos(x0), Pos(x1))
new_ltEs24(x0, x1, ty_Float)
new_compare27(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_esEs6(x0, x1, ty_@0)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_deleteMin(zzz9380, zzz9381, zzz9382, Branch(zzz93830, zzz93831, zzz93832, zzz93833, zzz93834), zzz9384, h, ba) → new_deleteMin(zzz93830, zzz93831, zzz93832, zzz93833, zzz93834, h, ba)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_deleteMax(zzz9390, zzz9391, zzz9392, zzz9393, Branch(zzz93940, zzz93941, zzz93942, zzz93943, zzz93944), h, ba) → new_deleteMax(zzz93940, zzz93941, zzz93942, zzz93943, zzz93944, h, ba)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_lt9(new_sr(new_sIZE_RATIO, new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_lt9(new_sr(new_sIZE_RATIO, new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), h, ba)

The TRS R consists of the following rules:

new_primMulNat0(Zero, Zero) → Zero
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_lt9(zzz798, zzz804) → new_esEs12(new_compare14(zzz798, zzz804))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)
new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_esEs12(GT) → False
new_primPlusNat1(Zero, Zero) → Zero
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_compare14(zzz798, zzz804) → new_primCmpInt(zzz798, zzz804)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_lt9(x0, x1)
new_compare14(x0, x1)
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO
new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_lt9(new_sr(new_sIZE_RATIO, new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), h, ba) at position [10] we obtained the following new rules:

new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
QDP
                                        ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_lt9(new_sr(new_sIZE_RATIO, new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_primMulNat0(Zero, Zero) → Zero
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_lt9(zzz798, zzz804) → new_esEs12(new_compare14(zzz798, zzz804))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)
new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_esEs12(GT) → False
new_primPlusNat1(Zero, Zero) → Zero
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_compare14(zzz798, zzz804) → new_primCmpInt(zzz798, zzz804)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_lt9(x0, x1)
new_compare14(x0, x1)
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO
new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_lt9(new_sr(new_sIZE_RATIO, new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), h, ba) at position [10] we obtained the following new rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
QDP
                                            ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_primMulNat0(Zero, Zero) → Zero
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_lt9(zzz798, zzz804) → new_esEs12(new_compare14(zzz798, zzz804))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)
new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_esEs12(GT) → False
new_primPlusNat1(Zero, Zero) → Zero
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_compare14(zzz798, zzz804) → new_primCmpInt(zzz798, zzz804)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_lt9(x0, x1)
new_compare14(x0, x1)
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO
new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
QDP
                                                ↳ QReductionProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)
new_compare14(zzz798, zzz804) → new_primCmpInt(zzz798, zzz804)
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_lt9(x0, x1)
new_compare14(x0, x1)
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO
new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_lt9(x0, x1)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
QDP
                                                    ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)
new_compare14(zzz798, zzz804) → new_primCmpInt(zzz798, zzz804)
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_compare14(x0, x1)
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO
new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba) at position [10,0] we obtained the following new rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
QDP
                                                        ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)
new_compare14(zzz798, zzz804) → new_primCmpInt(zzz798, zzz804)
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_compare14(x0, x1)
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO
new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba) at position [10,0] we obtained the following new rules:

new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
QDP
                                                            ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)
new_compare14(zzz798, zzz804) → new_primCmpInt(zzz798, zzz804)
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_compare14(x0, x1)
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO
new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
QDP
                                                                ↳ QReductionProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_compare14(x0, x1)
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO
new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_compare14(x0, x1)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
QDP
                                                                    ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO
new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba) at position [10,0,0] we obtained the following new rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
QDP
                                                                        ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO
new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba) at position [10,0,0] we obtained the following new rules:

new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
QDP
                                                                            ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO
new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
QDP
                                                                                ↳ QReductionProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO
new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_sr(x0, x1)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
QDP
                                                                                    ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO
new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba) at position [10,0,0,0] we obtained the following new rules:

new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
QDP
                                                                                        ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO
new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba) at position [10,0,0,0] we obtained the following new rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
QDP
                                                                                            ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO
new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
QDP
                                                                                                ↳ QReductionProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO
new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_sIZE_RATIO



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
QDP
                                                                                                    ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba) at position [10,0,0,1] we obtained the following new rules:

new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
QDP
                                                                                                        ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba) at position [10,0,0,1] we obtained the following new rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
QDP
                                                                                                            ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba) at position [10,0,0,1] we obtained the following new rules:

new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9392), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
QDP
                                                                                                                ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9392), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba) at position [10,0,0,1] we obtained the following new rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9382), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
QDP
                                                                                                                    ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9382), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9392), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9392), new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba) at position [10,0,1] we obtained the following new rules:

new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9392), new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
QDP
                                                                                                                        ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9392), new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9382), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_glueVBal3Size_r(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
QDP
                                                                                                                            ↳ QReductionProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9392), new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9382), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_glueVBal3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
                                                                                                                          ↳ QDP
                                                                                                                            ↳ QReductionProof
QDP
                                                                                                                                ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9382), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9392), new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9392), new_sizeFM(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba) at position [10,0,1] we obtained the following new rules:

new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9392), zzz9382)), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
                                                                                                                          ↳ QDP
                                                                                                                            ↳ QReductionProof
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Rewriting
QDP
                                                                                                                                    ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9392), zzz9382)), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9382), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba)

The TRS R consists of the following rules:

new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9382), new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba))), h, ba) at position [10,0,1] we obtained the following new rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9382), new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
                                                                                                                          ↳ QDP
                                                                                                                            ↳ QReductionProof
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Rewriting
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
QDP
                                                                                                                                        ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9392), zzz9382)), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9382), new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba))), h, ba)

The TRS R consists of the following rules:

new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)
new_glueVBal3Size_l(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, h, ba) → new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
                                                                                                                          ↳ QDP
                                                                                                                            ↳ QReductionProof
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Rewriting
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ UsableRulesProof
QDP
                                                                                                                                            ↳ QReductionProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9392), zzz9382)), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9382), new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba))), h, ba)

The TRS R consists of the following rules:

new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_glueVBal3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
                                                                                                                          ↳ QDP
                                                                                                                            ↳ QReductionProof
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Rewriting
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ UsableRulesProof
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ QReductionProof
QDP
                                                                                                                                                ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9392), zzz9382)), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9382), new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba))), h, ba)

The TRS R consists of the following rules:

new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9382), new_sizeFM(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, h, ba))), h, ba) at position [10,0,1] we obtained the following new rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9382), zzz9392)), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
                                                                                                                          ↳ QDP
                                                                                                                            ↳ QReductionProof
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Rewriting
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ UsableRulesProof
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ QReductionProof
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Rewriting
QDP
                                                                                                                                                    ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9392), zzz9382)), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9382), zzz9392)), h, ba)

The TRS R consists of the following rules:

new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
                                                                                                                          ↳ QDP
                                                                                                                            ↳ QReductionProof
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Rewriting
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ UsableRulesProof
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ QReductionProof
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Rewriting
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ UsableRulesProof
QDP
                                                                                                                                                        ↳ QReductionProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9392), zzz9382)), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9382), zzz9392)), h, ba)

The TRS R consists of the following rules:

new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_sizeFM(x0, x1, x2, x3, x4, x5, x6)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
                                                                                                                          ↳ QDP
                                                                                                                            ↳ QReductionProof
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Rewriting
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ UsableRulesProof
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ QReductionProof
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Rewriting
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ QReductionProof
QDP
                                                                                                                                                            ↳ QDPOrderProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9392), zzz9382)), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9382), zzz9392)), h, ba)

The TRS R consists of the following rules:

new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].


The following pairs can be oriented strictly and are deleted.


new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(zzz9394, Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba)
The remaining pairs can at least be oriented weakly.

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9392), zzz9382)), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9382), zzz9392)), h, ba)
Used ordering: Polynomial interpretation [25]:

POL(Branch(x1, x2, x3, x4, x5)) = x1 + x2 + x3 + x5   
POL(EQ) = 0   
POL(False) = 0   
POL(GT) = 0   
POL(LT) = 1   
POL(Neg(x1)) = 1 + x1   
POL(Pos(x1)) = 1   
POL(Succ(x1)) = 1   
POL(True) = 1   
POL(Zero) = 0   
POL(new_esEs12(x1)) = x1   
POL(new_glueVBal(x1, x2, x3, x4)) = x1   
POL(new_glueVBal3GlueVBal1(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13)) = x11 + x5   
POL(new_glueVBal3GlueVBal2(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13)) = x1 + x2 + x3 + x5   
POL(new_primCmpInt(x1, x2)) = x2   
POL(new_primCmpNat0(x1, x2)) = 1   
POL(new_primMulInt(x1, x2)) = 0   
POL(new_primMulNat0(x1, x2)) = 0   
POL(new_primPlusNat0(x1, x2)) = 0   
POL(new_primPlusNat1(x1, x2)) = 1 + x1 + x2   

The following usable rules [17] were oriented:

new_primCmpNat0(Zero, Zero) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_esEs12(LT) → True
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
                                                                                                                          ↳ QDP
                                                                                                                            ↳ QReductionProof
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Rewriting
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ UsableRulesProof
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ QReductionProof
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Rewriting
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ QDPOrderProof
QDP
                                                                                                                                                                ↳ DependencyGraphProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9392), zzz9382)), h, ba)
new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, False, h, ba) → new_glueVBal3GlueVBal1(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9382), zzz9392)), h, ba)

The TRS R consists of the following rules:

new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 1 less node.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
                                                                                                                          ↳ QDP
                                                                                                                            ↳ QReductionProof
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Rewriting
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ UsableRulesProof
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ QReductionProof
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Rewriting
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ QDPOrderProof
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ DependencyGraphProof
QDP
                                                                                                                                                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, True, h, ba) → new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), zzz9383, h, ba)
new_glueVBal(Branch(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394), Branch(zzz9380, zzz9381, zzz9382, zzz9383, zzz9384), h, ba) → new_glueVBal3GlueVBal2(zzz9390, zzz9391, zzz9392, zzz9393, zzz9394, zzz9380, zzz9381, zzz9382, zzz9383, zzz9384, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz9392), zzz9382)), h, ba)

The TRS R consists of the following rules:

new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_addToFM_C2(zzz1182, zzz1183, zzz1184, zzz1185, zzz1186, zzz1187, zzz1188, False, h, ba) → new_addToFM_C1(zzz1182, zzz1183, zzz1184, zzz1185, zzz1186, zzz1187, zzz1188, new_gt14(zzz1187, zzz1182, h), h, ba)
new_addToFM_C1(zzz1220, zzz1221, zzz1222, zzz1223, zzz1224, zzz1225, zzz1226, True, bb, bc) → new_addToFM_C(zzz1224, zzz1225, zzz1226, bb, bc)
new_addToFM_C(Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), zzz1085, zzz1086, bd, be) → new_addToFM_C2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz1085, zzz1086, new_lt25(zzz1085, zzz10890, bd), bd, be)
new_addToFM_C2(zzz1182, zzz1183, zzz1184, zzz1185, zzz1186, zzz1187, zzz1188, True, h, ba) → new_addToFM_C(zzz1185, zzz1187, zzz1188, h, ba)

The TRS R consists of the following rules:

new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Ordering, bbg) → new_ltEs16(zzz8880, zzz8890)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Double) → new_ltEs7(zzz8880, zzz8890)
new_ltEs19(zzz950, zzz953, ty_Ordering) → new_ltEs16(zzz950, zzz953)
new_esEs18(Char(zzz79800), Char(zzz80400)) → new_primEqNat0(zzz79800, zzz80400)
new_esEs30(zzz8880, zzz8890, ty_Double) → new_esEs25(zzz8880, zzz8890)
new_ltEs24(zzz8881, zzz8891, app(app(app(ty_@3, gaf), gag), gah)) → new_ltEs4(zzz8881, zzz8891, gaf, gag, gah)
new_lt12(zzz798, zzz804) → new_esEs12(new_compare16(zzz798, zzz804))
new_esEs8(zzz7981, zzz8041, ty_Double) → new_esEs25(zzz7981, zzz8041)
new_ltEs21(zzz888, zzz889, app(ty_[], bbe)) → new_ltEs9(zzz888, zzz889, bbe)
new_esEs5(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_lt14(zzz798, zzz804) → new_esEs12(new_compare13(zzz798, zzz804))
new_compare11(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, True, zzz1033, cdd, cde, cdf) → new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, True, cdd, cde, cdf)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_esEs21(Just(zzz79800), Just(zzz80400), app(app(app(ty_@3, bg), bh), ca)) → new_esEs16(zzz79800, zzz80400, bg, bh, ca)
new_esEs32(zzz79801, zzz80401, ty_@0) → new_esEs27(zzz79801, zzz80401)
new_esEs32(zzz79801, zzz80401, app(app(app(ty_@3, dge), dgf), dgg)) → new_esEs16(zzz79801, zzz80401, dge, dgf, dgg)
new_esEs37(zzz961, zzz963, app(app(ty_@2, cbh), cca)) → new_esEs13(zzz961, zzz963, cbh, cca)
new_ltEs10(Right(zzz8880), Right(zzz8890), bbf, ty_Float) → new_ltEs11(zzz8880, zzz8890)
new_lt21(zzz948, zzz951, app(ty_Maybe, edh)) → new_lt7(zzz948, zzz951, edh)
new_ltEs21(zzz888, zzz889, app(ty_Maybe, bbd)) → new_ltEs6(zzz888, zzz889, bbd)
new_ltEs19(zzz950, zzz953, ty_Float) → new_ltEs11(zzz950, zzz953)
new_ltEs6(Nothing, Just(zzz8890), bbd) → True
new_esEs32(zzz79801, zzz80401, ty_Integer) → new_esEs26(zzz79801, zzz80401)
new_esEs9(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_ltEs20(zzz907, zzz908, ty_Double) → new_ltEs7(zzz907, zzz908)
new_esEs36(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_lt11(zzz798, zzz804, ga, gb) → new_esEs12(new_compare7(zzz798, zzz804, ga, gb))
new_esEs29(zzz8881, zzz8891, app(ty_[], chg)) → new_esEs22(zzz8881, zzz8891, chg)
new_esEs32(zzz79801, zzz80401, app(app(ty_Either, dha), dhb)) → new_esEs20(zzz79801, zzz80401, dha, dhb)
new_compare16(Float(zzz7980, zzz7981), Float(zzz8040, zzz8041)) → new_compare14(new_sr(zzz7980, zzz8040), new_sr(zzz7981, zzz8041))
new_esEs38(zzz8880, zzz8890, ty_Bool) → new_esEs23(zzz8880, zzz8890)
new_esEs11(zzz7980, zzz8040, app(ty_Ratio, fhc)) → new_esEs17(zzz7980, zzz8040, fhc)
new_esEs10(zzz7981, zzz8041, app(app(app(ty_@3, fff), ffg), ffh)) → new_esEs16(zzz7981, zzz8041, fff, ffg, ffh)
new_esEs4(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_esEs14(zzz79801, zzz80401, app(app(ty_Either, dh), ea)) → new_esEs20(zzz79801, zzz80401, dh, ea)
new_ltEs19(zzz950, zzz953, ty_Integer) → new_ltEs14(zzz950, zzz953)
new_esEs34(zzz949, zzz952, app(ty_Maybe, ecf)) → new_esEs21(zzz949, zzz952, ecf)
new_esEs4(zzz7980, zzz8040, app(app(ty_Either, bga), bfa)) → new_esEs20(zzz7980, zzz8040, bga, bfa)
new_esEs38(zzz8880, zzz8890, app(ty_[], gbe)) → new_esEs22(zzz8880, zzz8890, gbe)
new_lt5(zzz8881, zzz8891, app(app(app(ty_@3, dab), dac), dad)) → new_lt17(zzz8881, zzz8891, dab, dac, dad)
new_esEs5(zzz7980, zzz8040, app(ty_Ratio, dce)) → new_esEs17(zzz7980, zzz8040, dce)
new_ltEs20(zzz907, zzz908, app(app(ty_@2, he), hf)) → new_ltEs18(zzz907, zzz908, he, hf)
new_esEs14(zzz79801, zzz80401, ty_Double) → new_esEs25(zzz79801, zzz80401)
new_ltEs10(Right(zzz8880), Right(zzz8890), bbf, app(app(ty_@2, ffc), ffd)) → new_ltEs18(zzz8880, zzz8890, ffc, ffd)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Float, bbg) → new_ltEs11(zzz8880, zzz8890)
new_lt5(zzz8881, zzz8891, ty_Integer) → new_lt15(zzz8881, zzz8891)
new_esEs4(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_ltEs23(zzz962, zzz964, ty_Float) → new_ltEs11(zzz962, zzz964)
new_esEs15(zzz79800, zzz80400, app(app(app(ty_@3, ef), eg), eh)) → new_esEs16(zzz79800, zzz80400, ef, eg, eh)
new_lt6(zzz8880, zzz8890, app(app(ty_@2, dbh), dca)) → new_lt19(zzz8880, zzz8890, dbh, dca)
new_ltEs20(zzz907, zzz908, app(ty_[], gf)) → new_ltEs9(zzz907, zzz908, gf)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Float) → new_ltEs11(zzz8880, zzz8890)
new_compare18(GT, EQ) → GT
new_esEs38(zzz8880, zzz8890, app(app(ty_Either, gbf), gbg)) → new_esEs20(zzz8880, zzz8890, gbf, gbg)
new_esEs7(zzz7982, zzz8042, app(ty_[], egb)) → new_esEs22(zzz7982, zzz8042, egb)
new_compare31(zzz7980, zzz8040, ty_Char) → new_compare29(zzz7980, zzz8040)
new_ltEs22(zzz900, zzz901, app(ty_Ratio, bec)) → new_ltEs17(zzz900, zzz901, bec)
new_esEs4(zzz7980, zzz8040, app(app(app(ty_@3, cfg), cfh), cga)) → new_esEs16(zzz7980, zzz8040, cfg, cfh, cga)
new_compare29(Char(zzz7980), Char(zzz8040)) → new_primCmpNat0(zzz7980, zzz8040)
new_compare110(zzz1009, zzz1010, zzz1011, zzz1012, True, zzz1014, bch, bda) → new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, True, bch, bda)
new_ltEs23(zzz962, zzz964, app(app(ty_Either, ccd), cce)) → new_ltEs10(zzz962, zzz964, ccd, cce)
new_esEs36(zzz79800, zzz80400, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_esEs33(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_lt20(zzz949, zzz952, ty_Float) → new_lt12(zzz949, zzz952)
new_lt9(zzz798, zzz804) → new_esEs12(new_compare14(zzz798, zzz804))
new_ltEs5(zzz8882, zzz8892, ty_Bool) → new_ltEs15(zzz8882, zzz8892)
new_compare30(@2(zzz7980, zzz7981), @2(zzz8040, zzz8041), ceb, cec) → new_compare210(zzz7980, zzz7981, zzz8040, zzz8041, new_asAs(new_esEs11(zzz7980, zzz8040, ceb), new_esEs10(zzz7981, zzz8041, cec)), ceb, cec)
new_gt14(zzz1187, zzz1182, ty_Integer) → new_gt0(zzz1187, zzz1182)
new_ltEs24(zzz8881, zzz8891, app(ty_Ratio, gba)) → new_ltEs17(zzz8881, zzz8891, gba)
new_lt23(zzz8880, zzz8890, ty_Bool) → new_lt4(zzz8880, zzz8890)
new_lt20(zzz949, zzz952, ty_Bool) → new_lt4(zzz949, zzz952)
new_pePe(False, zzz1074) → zzz1074
new_esEs19(GT, GT) → True
new_esEs35(zzz948, zzz951, app(app(ty_@2, eeh), efa)) → new_esEs13(zzz948, zzz951, eeh, efa)
new_ltEs24(zzz8881, zzz8891, ty_Integer) → new_ltEs14(zzz8881, zzz8891)
new_lt23(zzz8880, zzz8890, app(ty_Maybe, gbd)) → new_lt7(zzz8880, zzz8890, gbd)
new_lt21(zzz948, zzz951, app(ty_Ratio, eeg)) → new_lt18(zzz948, zzz951, eeg)
new_compare5(False, False) → EQ
new_compare31(zzz7980, zzz8040, ty_@0) → new_compare13(zzz7980, zzz8040)
new_esEs34(zzz949, zzz952, app(ty_Ratio, ede)) → new_esEs17(zzz949, zzz952, ede)
new_esEs31(zzz79802, zzz80402, app(app(ty_Either, dfg), dfh)) → new_esEs20(zzz79802, zzz80402, dfg, dfh)
new_ltEs22(zzz900, zzz901, ty_Ordering) → new_ltEs16(zzz900, zzz901)
new_esEs8(zzz7981, zzz8041, app(app(app(ty_@3, ege), egf), egg)) → new_esEs16(zzz7981, zzz8041, ege, egf, egg)
new_esEs33(zzz79800, zzz80400, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_lt5(zzz8881, zzz8891, ty_Char) → new_lt13(zzz8881, zzz8891)
new_esEs12(GT) → False
new_esEs9(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_compare31(zzz7980, zzz8040, ty_Int) → new_compare14(zzz7980, zzz8040)
new_ltEs19(zzz950, zzz953, ty_Int) → new_ltEs8(zzz950, zzz953)
new_compare26(zzz907, zzz908, False, gc, gd) → new_compare12(zzz907, zzz908, new_ltEs20(zzz907, zzz908, gd), gc, gd)
new_ltEs24(zzz8881, zzz8891, ty_Int) → new_ltEs8(zzz8881, zzz8891)
new_esEs9(zzz7980, zzz8040, app(app(app(ty_@3, ehg), ehh), faa)) → new_esEs16(zzz7980, zzz8040, ehg, ehh, faa)
new_esEs34(zzz949, zzz952, app(app(app(ty_@3, edb), edc), edd)) → new_esEs16(zzz949, zzz952, edb, edc, edd)
new_esEs33(zzz79800, zzz80400, app(app(app(ty_@3, dhg), dhh), eaa)) → new_esEs16(zzz79800, zzz80400, dhg, dhh, eaa)
new_lt22(zzz961, zzz963, ty_Float) → new_lt12(zzz961, zzz963)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_ltEs19(zzz950, zzz953, app(app(ty_Either, ebf), ebg)) → new_ltEs10(zzz950, zzz953, ebf, ebg)
new_esEs24(Float(zzz79800, zzz79801), Float(zzz80400, zzz80401)) → new_esEs28(new_sr(zzz79800, zzz80400), new_sr(zzz79801, zzz80401))
new_esEs21(Just(zzz79800), Just(zzz80400), app(ty_Maybe, ce)) → new_esEs21(zzz79800, zzz80400, ce)
new_esEs21(Nothing, Nothing, bf) → True
new_pePe(True, zzz1074) → True
new_compare0([], [], bcg) → EQ
new_primEqNat0(Zero, Zero) → True
new_ltEs10(Right(zzz8880), Right(zzz8890), bbf, ty_Ordering) → new_ltEs16(zzz8880, zzz8890)
new_esEs5(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Char, bfa) → new_esEs18(zzz79800, zzz80400)
new_esEs32(zzz79801, zzz80401, app(ty_[], dhd)) → new_esEs22(zzz79801, zzz80401, dhd)
new_esEs12(EQ) → False
new_ltEs20(zzz907, zzz908, ty_Integer) → new_ltEs14(zzz907, zzz908)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, app(ty_Maybe, bgh)) → new_esEs21(zzz79800, zzz80400, bgh)
new_esEs23(False, False) → True
new_ltEs16(EQ, LT) → False
new_esEs6(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_ltEs23(zzz962, zzz964, ty_Integer) → new_ltEs14(zzz962, zzz964)
new_lt6(zzz8880, zzz8890, ty_Int) → new_lt9(zzz8880, zzz8890)
new_esEs30(zzz8880, zzz8890, app(app(app(ty_@3, dbd), dbe), dbf)) → new_esEs16(zzz8880, zzz8890, dbd, dbe, dbf)
new_esEs31(zzz79802, zzz80402, ty_Int) → new_esEs28(zzz79802, zzz80402)
new_ltEs16(GT, EQ) → False
new_esEs38(zzz8880, zzz8890, ty_Char) → new_esEs18(zzz8880, zzz8890)
new_esEs37(zzz961, zzz963, app(ty_Maybe, cah)) → new_esEs21(zzz961, zzz963, cah)
new_esEs36(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_compare12(zzz991, zzz992, False, fba, fbb) → GT
new_esEs7(zzz7982, zzz8042, app(ty_Maybe, ega)) → new_esEs21(zzz7982, zzz8042, ega)
new_esEs30(zzz8880, zzz8890, app(ty_[], dba)) → new_esEs22(zzz8880, zzz8890, dba)
new_ltEs10(Right(zzz8880), Right(zzz8890), bbf, ty_@0) → new_ltEs13(zzz8880, zzz8890)
new_esEs39(zzz79801, zzz80401, ty_Integer) → new_esEs26(zzz79801, zzz80401)
new_esEs21(Just(zzz79800), Just(zzz80400), app(app(ty_@2, cg), da)) → new_esEs13(zzz79800, zzz80400, cg, da)
new_esEs32(zzz79801, zzz80401, ty_Double) → new_esEs25(zzz79801, zzz80401)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_ltEs19(zzz950, zzz953, ty_Bool) → new_ltEs15(zzz950, zzz953)
new_compare210(zzz961, zzz962, zzz963, zzz964, False, caf, cag) → new_compare110(zzz961, zzz962, zzz963, zzz964, new_lt22(zzz961, zzz963, caf), new_asAs(new_esEs37(zzz961, zzz963, caf), new_ltEs23(zzz962, zzz964, cag)), caf, cag)
new_lt6(zzz8880, zzz8890, app(app(ty_Either, dbb), dbc)) → new_lt11(zzz8880, zzz8890, dbb, dbc)
new_lt23(zzz8880, zzz8890, app(ty_Ratio, gcc)) → new_lt18(zzz8880, zzz8890, gcc)
new_esEs7(zzz7982, zzz8042, ty_Bool) → new_esEs23(zzz7982, zzz8042)
new_esEs29(zzz8881, zzz8891, app(app(ty_@2, daf), dag)) → new_esEs13(zzz8881, zzz8891, daf, dag)
new_ltEs20(zzz907, zzz908, app(app(app(ty_@3, ha), hb), hc)) → new_ltEs4(zzz907, zzz908, ha, hb, hc)
new_primEqInt(Neg(Succ(zzz798000)), Neg(Succ(zzz804000))) → new_primEqNat0(zzz798000, zzz804000)
new_esEs4(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_compare5(True, True) → EQ
new_compare8(@3(zzz7980, zzz7981, zzz7982), @3(zzz8040, zzz8041, zzz8042), deh, dfa, dfb) → new_compare27(zzz7980, zzz7981, zzz7982, zzz8040, zzz8041, zzz8042, new_asAs(new_esEs9(zzz7980, zzz8040, deh), new_asAs(new_esEs8(zzz7981, zzz8041, dfa), new_esEs7(zzz7982, zzz8042, dfb))), deh, dfa, dfb)
new_esEs29(zzz8881, zzz8891, app(app(app(ty_@3, dab), dac), dad)) → new_esEs16(zzz8881, zzz8891, dab, dac, dad)
new_esEs19(EQ, EQ) → True
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)
new_ltEs21(zzz888, zzz889, ty_Int) → new_ltEs8(zzz888, zzz889)
new_esEs6(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_lt22(zzz961, zzz963, ty_Double) → new_lt8(zzz961, zzz963)
new_lt6(zzz8880, zzz8890, app(app(app(ty_@3, dbd), dbe), dbf)) → new_lt17(zzz8880, zzz8890, dbd, dbe, dbf)
new_esEs37(zzz961, zzz963, ty_@0) → new_esEs27(zzz961, zzz963)
new_esEs10(zzz7981, zzz8041, app(ty_Maybe, fgd)) → new_esEs21(zzz7981, zzz8041, fgd)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs35(zzz948, zzz951, ty_Ordering) → new_esEs19(zzz948, zzz951)
new_esEs8(zzz7981, zzz8041, app(app(ty_Either, eha), ehb)) → new_esEs20(zzz7981, zzz8041, eha, ehb)
new_primCompAux0(zzz894, GT) → GT
new_compare26(zzz907, zzz908, True, gc, gd) → EQ
new_esEs36(zzz79800, zzz80400, app(app(ty_Either, fcc), fcd)) → new_esEs20(zzz79800, zzz80400, fcc, fcd)
new_fsEs(zzz1069) → new_not(new_esEs19(zzz1069, GT))
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs4(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_esEs7(zzz7982, zzz8042, app(app(ty_@2, egc), egd)) → new_esEs13(zzz7982, zzz8042, egc, egd)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_esEs9(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_ltEs5(zzz8882, zzz8892, app(ty_Ratio, chc)) → new_ltEs17(zzz8882, zzz8892, chc)
new_compare14(zzz798, zzz804) → new_primCmpInt(zzz798, zzz804)
new_lt19(zzz798, zzz804, ceb, cec) → new_esEs12(new_compare30(zzz798, zzz804, ceb, cec))
new_ltEs19(zzz950, zzz953, ty_Double) → new_ltEs7(zzz950, zzz953)
new_esEs11(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_lt21(zzz948, zzz951, ty_Char) → new_lt13(zzz948, zzz951)
new_esEs7(zzz7982, zzz8042, ty_Float) → new_esEs24(zzz7982, zzz8042)
new_esEs19(EQ, LT) → False
new_esEs19(LT, EQ) → False
new_esEs30(zzz8880, zzz8890, app(app(ty_@2, dbh), dca)) → new_esEs13(zzz8880, zzz8890, dbh, dca)
new_ltEs24(zzz8881, zzz8891, ty_@0) → new_ltEs13(zzz8881, zzz8891)
new_esEs34(zzz949, zzz952, ty_Char) → new_esEs18(zzz949, zzz952)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Bool, bfa) → new_esEs23(zzz79800, zzz80400)
new_primEqInt(Pos(Succ(zzz798000)), Pos(Succ(zzz804000))) → new_primEqNat0(zzz798000, zzz804000)
new_esEs31(zzz79802, zzz80402, ty_Bool) → new_esEs23(zzz79802, zzz80402)
new_esEs30(zzz8880, zzz8890, ty_@0) → new_esEs27(zzz8880, zzz8890)
new_esEs21(Just(zzz79800), Just(zzz80400), app(ty_[], cf)) → new_esEs22(zzz79800, zzz80400, cf)
new_esEs14(zzz79801, zzz80401, app(app(app(ty_@3, dd), de), df)) → new_esEs16(zzz79801, zzz80401, dd, de, df)
new_ltEs21(zzz888, zzz889, ty_Float) → new_ltEs11(zzz888, zzz889)
new_ltEs14(zzz888, zzz889) → new_fsEs(new_compare17(zzz888, zzz889))
new_esEs33(zzz79800, zzz80400, app(app(ty_@2, eag), eah)) → new_esEs13(zzz79800, zzz80400, eag, eah)
new_esEs9(zzz7980, zzz8040, app(app(ty_Either, fac), fad)) → new_esEs20(zzz7980, zzz8040, fac, fad)
new_ltEs5(zzz8882, zzz8892, app(app(ty_@2, chd), che)) → new_ltEs18(zzz8882, zzz8892, chd, che)
new_ltEs24(zzz8881, zzz8891, ty_Float) → new_ltEs11(zzz8881, zzz8891)
new_primEqNat0(Succ(zzz798000), Succ(zzz804000)) → new_primEqNat0(zzz798000, zzz804000)
new_esEs25(Double(zzz79800, zzz79801), Double(zzz80400, zzz80401)) → new_esEs28(new_sr(zzz79800, zzz80400), new_sr(zzz79801, zzz80401))
new_lt22(zzz961, zzz963, ty_Char) → new_lt13(zzz961, zzz963)
new_esEs8(zzz7981, zzz8041, ty_@0) → new_esEs27(zzz7981, zzz8041)
new_lt23(zzz8880, zzz8890, ty_Double) → new_lt8(zzz8880, zzz8890)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_esEs37(zzz961, zzz963, ty_Int) → new_esEs28(zzz961, zzz963)
new_ltEs10(Right(zzz8880), Right(zzz8890), bbf, app(app(ty_Either, fee), fef)) → new_ltEs10(zzz8880, zzz8890, fee, fef)
new_ltEs5(zzz8882, zzz8892, ty_Int) → new_ltEs8(zzz8882, zzz8892)
new_esEs35(zzz948, zzz951, ty_Bool) → new_esEs23(zzz948, zzz951)
new_esEs5(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_ltEs6(Just(zzz8880), Nothing, bbd) → False
new_compare18(GT, LT) → GT
new_lt5(zzz8881, zzz8891, app(app(ty_Either, chh), daa)) → new_lt11(zzz8881, zzz8891, chh, daa)
new_esEs30(zzz8880, zzz8890, ty_Float) → new_esEs24(zzz8880, zzz8890)
new_compare31(zzz7980, zzz8040, app(app(app(ty_@3, ceh), cfa), cfb)) → new_compare8(zzz7980, zzz8040, ceh, cfa, cfb)
new_esEs29(zzz8881, zzz8891, ty_Integer) → new_esEs26(zzz8881, zzz8891)
new_ltEs24(zzz8881, zzz8891, app(ty_Maybe, gab)) → new_ltEs6(zzz8881, zzz8891, gab)
new_lt21(zzz948, zzz951, app(ty_[], eea)) → new_lt10(zzz948, zzz951, eea)
new_ltEs21(zzz888, zzz889, ty_Ordering) → new_ltEs16(zzz888, zzz889)
new_compare31(zzz7980, zzz8040, app(ty_Ratio, cfc)) → new_compare9(zzz7980, zzz8040, cfc)
new_compare31(zzz7980, zzz8040, app(ty_Maybe, ced)) → new_compare6(zzz7980, zzz8040, ced)
new_ltEs10(Right(zzz8880), Right(zzz8890), bbf, ty_Integer) → new_ltEs14(zzz8880, zzz8890)
new_lt20(zzz949, zzz952, ty_Char) → new_lt13(zzz949, zzz952)
new_compare28(zzz888, zzz889, False, bbc) → new_compare15(zzz888, zzz889, new_ltEs21(zzz888, zzz889, bbc), bbc)
new_esEs9(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_esEs36(zzz79800, zzz80400, app(app(app(ty_@3, fbg), fbh), fca)) → new_esEs16(zzz79800, zzz80400, fbg, fbh, fca)
new_esEs10(zzz7981, zzz8041, ty_Char) → new_esEs18(zzz7981, zzz8041)
new_esEs28(zzz7980, zzz8040) → new_primEqInt(zzz7980, zzz8040)
new_esEs26(Integer(zzz79800), Integer(zzz80400)) → new_primEqInt(zzz79800, zzz80400)
new_esEs10(zzz7981, zzz8041, ty_Bool) → new_esEs23(zzz7981, zzz8041)
new_gt11(zzz832, zzz838) → new_esEs41(new_compare14(zzz832, zzz838))
new_lt5(zzz8881, zzz8891, app(ty_Ratio, dae)) → new_lt18(zzz8881, zzz8891, dae)
new_esEs32(zzz79801, zzz80401, app(ty_Maybe, dhc)) → new_esEs21(zzz79801, zzz80401, dhc)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Ordering, bfa) → new_esEs19(zzz79800, zzz80400)
new_gt3(zzz832, zzz838) → new_esEs41(new_compare13(zzz832, zzz838))
new_esEs33(zzz79800, zzz80400, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_esEs35(zzz948, zzz951, app(ty_Ratio, eeg)) → new_esEs17(zzz948, zzz951, eeg)
new_primEqInt(Pos(Zero), Neg(Succ(zzz804000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(zzz804000))) → False
new_esEs14(zzz79801, zzz80401, app(app(ty_@2, ed), ee)) → new_esEs13(zzz79801, zzz80401, ed, ee)
new_esEs30(zzz8880, zzz8890, app(ty_Maybe, dah)) → new_esEs21(zzz8880, zzz8890, dah)
new_esEs30(zzz8880, zzz8890, ty_Bool) → new_esEs23(zzz8880, zzz8890)
new_esEs30(zzz8880, zzz8890, app(ty_Ratio, dbg)) → new_esEs17(zzz8880, zzz8890, dbg)
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_esEs33(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs6(zzz7980, zzz8040, app(ty_Maybe, deb)) → new_esEs21(zzz7980, zzz8040, deb)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, app(app(app(ty_@3, bgb), bgc), bgd)) → new_esEs16(zzz79800, zzz80400, bgb, bgc, bgd)
new_ltEs16(EQ, EQ) → True
new_gt12(zzz832, zzz838, fbd, fbe, fbf) → new_esEs41(new_compare8(zzz832, zzz838, fbd, fbe, fbf))
new_esEs20(Left(zzz79800), Left(zzz80400), app(ty_[], bff), bfa) → new_esEs22(zzz79800, zzz80400, bff)
new_primCompAux0(zzz894, LT) → LT
new_esEs33(zzz79800, zzz80400, app(app(ty_Either, eac), ead)) → new_esEs20(zzz79800, zzz80400, eac, ead)
new_compare18(EQ, GT) → LT
new_not(False) → True
new_esEs8(zzz7981, zzz8041, ty_Float) → new_esEs24(zzz7981, zzz8041)
new_lt21(zzz948, zzz951, app(app(ty_Either, eeb), eec)) → new_lt11(zzz948, zzz951, eeb, eec)
new_ltEs21(zzz888, zzz889, app(app(ty_@2, bcd), bce)) → new_ltEs18(zzz888, zzz889, bcd, bce)
new_esEs21(Just(zzz79800), Just(zzz80400), app(app(ty_Either, cc), cd)) → new_esEs20(zzz79800, zzz80400, cc, cd)
new_ltEs7(zzz888, zzz889) → new_fsEs(new_compare19(zzz888, zzz889))
new_esEs35(zzz948, zzz951, app(app(ty_Either, eeb), eec)) → new_esEs20(zzz948, zzz951, eeb, eec)
new_esEs37(zzz961, zzz963, app(ty_[], cba)) → new_esEs22(zzz961, zzz963, cba)
new_ltEs23(zzz962, zzz964, app(ty_[], ccc)) → new_ltEs9(zzz962, zzz964, ccc)
new_lt20(zzz949, zzz952, app(ty_[], ecg)) → new_lt10(zzz949, zzz952, ecg)
new_esEs10(zzz7981, zzz8041, ty_Double) → new_esEs25(zzz7981, zzz8041)
new_ltEs21(zzz888, zzz889, ty_Char) → new_ltEs12(zzz888, zzz889)
new_gt14(zzz1187, zzz1182, ty_Ordering) → new_gt7(zzz1187, zzz1182)
new_gt6(zzz832, zzz838, cdh, cea) → new_esEs41(new_compare30(zzz832, zzz838, cdh, cea))
new_compare0(:(zzz7980, zzz7981), [], bcg) → GT
new_esEs6(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_esEs14(zzz79801, zzz80401, ty_Char) → new_esEs18(zzz79801, zzz80401)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, app(ty_[], bha)) → new_esEs22(zzz79800, zzz80400, bha)
new_gt14(zzz1187, zzz1182, ty_Double) → new_gt4(zzz1187, zzz1182)
new_lt6(zzz8880, zzz8890, app(ty_[], dba)) → new_lt10(zzz8880, zzz8890, dba)
new_esEs4(zzz7980, zzz8040, app(app(ty_@2, db), dc)) → new_esEs13(zzz7980, zzz8040, db, dc)
new_ltEs22(zzz900, zzz901, ty_Int) → new_ltEs8(zzz900, zzz901)
new_lt25(zzz1085, zzz10890, ty_Char) → new_lt13(zzz1085, zzz10890)
new_esEs34(zzz949, zzz952, app(app(ty_Either, ech), eda)) → new_esEs20(zzz949, zzz952, ech, eda)
new_esEs10(zzz7981, zzz8041, app(app(ty_Either, fgb), fgc)) → new_esEs20(zzz7981, zzz8041, fgb, fgc)
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_esEs37(zzz961, zzz963, app(app(app(ty_@3, cbd), cbe), cbf)) → new_esEs16(zzz961, zzz963, cbd, cbe, cbf)
new_esEs6(zzz7980, zzz8040, app(ty_[], dec)) → new_esEs22(zzz7980, zzz8040, dec)
new_esEs7(zzz7982, zzz8042, ty_Integer) → new_esEs26(zzz7982, zzz8042)
new_primEqNat0(Zero, Succ(zzz804000)) → False
new_primEqNat0(Succ(zzz798000), Zero) → False
new_esEs29(zzz8881, zzz8891, app(ty_Ratio, dae)) → new_esEs17(zzz8881, zzz8891, dae)
new_ltEs10(Right(zzz8880), Right(zzz8890), bbf, ty_Char) → new_ltEs12(zzz8880, zzz8890)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_compare25(zzz900, zzz901, True, bdb, bdc) → EQ
new_lt13(zzz798, zzz804) → new_esEs12(new_compare29(zzz798, zzz804))
new_esEs21(Just(zzz79800), Just(zzz80400), app(ty_Ratio, cb)) → new_esEs17(zzz79800, zzz80400, cb)
new_compare31(zzz7980, zzz8040, app(app(ty_@2, cfd), cfe)) → new_compare30(zzz7980, zzz8040, cfd, cfe)
new_esEs36(zzz79800, zzz80400, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_gt7(zzz832, zzz838) → new_esEs41(new_compare18(zzz832, zzz838))
new_esEs15(zzz79800, zzz80400, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Int, bfa) → new_esEs28(zzz79800, zzz80400)
new_ltEs20(zzz907, zzz908, ty_Ordering) → new_ltEs16(zzz907, zzz908)
new_ltEs20(zzz907, zzz908, app(app(ty_Either, gg), gh)) → new_ltEs10(zzz907, zzz908, gg, gh)
new_lt20(zzz949, zzz952, app(app(ty_Either, ech), eda)) → new_lt11(zzz949, zzz952, ech, eda)
new_esEs7(zzz7982, zzz8042, ty_@0) → new_esEs27(zzz7982, zzz8042)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_esEs30(zzz8880, zzz8890, ty_Char) → new_esEs18(zzz8880, zzz8890)
new_compare0(:(zzz7980, zzz7981), :(zzz8040, zzz8041), bcg) → new_primCompAux1(zzz7980, zzz8040, new_compare0(zzz7981, zzz8041, bcg), bcg)
new_esEs20(Left(zzz79800), Left(zzz80400), app(app(app(ty_@3, bef), beg), beh), bfa) → new_esEs16(zzz79800, zzz80400, bef, beg, beh)
new_esEs30(zzz8880, zzz8890, ty_Int) → new_esEs28(zzz8880, zzz8890)
new_esEs39(zzz79801, zzz80401, ty_Int) → new_esEs28(zzz79801, zzz80401)
new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, False, cdd, cde, cdf) → GT
new_esEs19(LT, LT) → True
new_lt22(zzz961, zzz963, ty_Integer) → new_lt15(zzz961, zzz963)
new_compare11(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, False, zzz1033, cdd, cde, cdf) → new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, zzz1033, cdd, cde, cdf)
new_ltEs23(zzz962, zzz964, ty_Ordering) → new_ltEs16(zzz962, zzz964)
new_esEs4(zzz7980, zzz8040, app(ty_Ratio, cgb)) → new_esEs17(zzz7980, zzz8040, cgb)
new_esEs10(zzz7981, zzz8041, app(ty_[], fge)) → new_esEs22(zzz7981, zzz8041, fge)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_ltEs19(zzz950, zzz953, app(app(ty_@2, ecd), ece)) → new_ltEs18(zzz950, zzz953, ecd, ece)
new_esEs36(zzz79800, zzz80400, app(app(ty_@2, fcg), fch)) → new_esEs13(zzz79800, zzz80400, fcg, fch)
new_primCompAux1(zzz7980, zzz8040, zzz883, bcg) → new_primCompAux0(zzz883, new_compare31(zzz7980, zzz8040, bcg))
new_compare31(zzz7980, zzz8040, ty_Integer) → new_compare17(zzz7980, zzz8040)
new_compare6(Just(zzz7980), Nothing, cff) → GT
new_esEs8(zzz7981, zzz8041, ty_Bool) → new_esEs23(zzz7981, zzz8041)
new_lt20(zzz949, zzz952, app(ty_Maybe, ecf)) → new_lt7(zzz949, zzz952, ecf)
new_compare5(False, True) → LT
new_asAs(False, zzz1000) → False
new_ltEs10(Right(zzz8880), Right(zzz8890), bbf, app(app(app(ty_@3, feg), feh), ffa)) → new_ltEs4(zzz8880, zzz8890, feg, feh, ffa)
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_esEs36(zzz79800, zzz80400, app(ty_Maybe, fce)) → new_esEs21(zzz79800, zzz80400, fce)
new_esEs31(zzz79802, zzz80402, ty_Double) → new_esEs25(zzz79802, zzz80402)
new_esEs5(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_ltEs23(zzz962, zzz964, app(ty_Maybe, ccb)) → new_ltEs6(zzz962, zzz964, ccb)
new_ltEs22(zzz900, zzz901, app(app(ty_@2, bed), bee)) → new_ltEs18(zzz900, zzz901, bed, bee)
new_esEs14(zzz79801, zzz80401, ty_@0) → new_esEs27(zzz79801, zzz80401)
new_esEs21(Just(zzz79800), Nothing, bf) → False
new_esEs21(Nothing, Just(zzz80400), bf) → False
new_lt5(zzz8881, zzz8891, app(app(ty_@2, daf), dag)) → new_lt19(zzz8881, zzz8891, daf, dag)
new_lt25(zzz1085, zzz10890, ty_Bool) → new_lt4(zzz1085, zzz10890)
new_esEs29(zzz8881, zzz8891, ty_Double) → new_esEs25(zzz8881, zzz8891)
new_esEs32(zzz79801, zzz80401, ty_Bool) → new_esEs23(zzz79801, zzz80401)
new_compare17(Integer(zzz7980), Integer(zzz8040)) → new_primCmpInt(zzz7980, zzz8040)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Int, bbg) → new_ltEs8(zzz8880, zzz8890)
new_esEs10(zzz7981, zzz8041, ty_@0) → new_esEs27(zzz7981, zzz8041)
new_lt23(zzz8880, zzz8890, app(app(app(ty_@3, gbh), gca), gcb)) → new_lt17(zzz8880, zzz8890, gbh, gca, gcb)
new_compare13(@0, @0) → EQ
new_compare31(zzz7980, zzz8040, app(ty_[], cee)) → new_compare0(zzz7980, zzz8040, cee)
new_esEs35(zzz948, zzz951, app(ty_[], eea)) → new_esEs22(zzz948, zzz951, eea)
new_esEs6(zzz7980, zzz8040, app(ty_Ratio, ddg)) → new_esEs17(zzz7980, zzz8040, ddg)
new_compare31(zzz7980, zzz8040, app(app(ty_Either, cef), ceg)) → new_compare7(zzz7980, zzz8040, cef, ceg)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Integer) → new_ltEs14(zzz8880, zzz8890)
new_ltEs24(zzz8881, zzz8891, app(ty_[], gac)) → new_ltEs9(zzz8881, zzz8891, gac)
new_ltEs23(zzz962, zzz964, ty_Char) → new_ltEs12(zzz962, zzz964)
new_lt5(zzz8881, zzz8891, app(ty_[], chg)) → new_lt10(zzz8881, zzz8891, chg)
new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, False, bch, bda) → GT
new_lt20(zzz949, zzz952, app(ty_Ratio, ede)) → new_lt18(zzz949, zzz952, ede)
new_ltEs10(Right(zzz8880), Right(zzz8890), bbf, app(ty_Ratio, ffb)) → new_ltEs17(zzz8880, zzz8890, ffb)
new_ltEs6(Nothing, Nothing, bbd) → True
new_compare7(Right(zzz7980), Left(zzz8040), ga, gb) → GT
new_esEs34(zzz949, zzz952, ty_Integer) → new_esEs26(zzz949, zzz952)
new_esEs40(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_ltEs10(Right(zzz8880), Right(zzz8890), bbf, ty_Bool) → new_ltEs15(zzz8880, zzz8890)
new_esEs6(zzz7980, zzz8040, app(app(ty_Either, ddh), dea)) → new_esEs20(zzz7980, zzz8040, ddh, dea)
new_lt20(zzz949, zzz952, ty_Ordering) → new_lt16(zzz949, zzz952)
new_lt21(zzz948, zzz951, app(app(ty_@2, eeh), efa)) → new_lt19(zzz948, zzz951, eeh, efa)
new_esEs11(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_esEs9(zzz7980, zzz8040, app(ty_Maybe, fae)) → new_esEs21(zzz7980, zzz8040, fae)
new_esEs41(GT) → True
new_esEs10(zzz7981, zzz8041, app(ty_Ratio, fga)) → new_esEs17(zzz7981, zzz8041, fga)
new_lt25(zzz1085, zzz10890, ty_@0) → new_lt14(zzz1085, zzz10890)
new_compare25(zzz900, zzz901, False, bdb, bdc) → new_compare10(zzz900, zzz901, new_ltEs22(zzz900, zzz901, bdb), bdb, bdc)
new_esEs6(zzz7980, zzz8040, app(app(app(ty_@3, ddd), dde), ddf)) → new_esEs16(zzz7980, zzz8040, ddd, dde, ddf)
new_esEs34(zzz949, zzz952, ty_Double) → new_esEs25(zzz949, zzz952)
new_esEs15(zzz79800, zzz80400, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_lt20(zzz949, zzz952, ty_Integer) → new_lt15(zzz949, zzz952)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Float, bfa) → new_esEs24(zzz79800, zzz80400)
new_esEs31(zzz79802, zzz80402, ty_Char) → new_esEs18(zzz79802, zzz80402)
new_esEs7(zzz7982, zzz8042, ty_Double) → new_esEs25(zzz7982, zzz8042)
new_compare7(Left(zzz7980), Left(zzz8040), ga, gb) → new_compare25(zzz7980, zzz8040, new_esEs5(zzz7980, zzz8040, ga), ga, gb)
new_compare7(Right(zzz7980), Right(zzz8040), ga, gb) → new_compare26(zzz7980, zzz8040, new_esEs6(zzz7980, zzz8040, gb), ga, gb)
new_esEs31(zzz79802, zzz80402, app(app(app(ty_@3, dfc), dfd), dfe)) → new_esEs16(zzz79802, zzz80402, dfc, dfd, dfe)
new_ltEs22(zzz900, zzz901, ty_Double) → new_ltEs7(zzz900, zzz901)
new_esEs15(zzz79800, zzz80400, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_lt5(zzz8881, zzz8891, ty_Ordering) → new_lt16(zzz8881, zzz8891)
new_esEs31(zzz79802, zzz80402, app(ty_Ratio, dff)) → new_esEs17(zzz79802, zzz80402, dff)
new_gt4(zzz832, zzz838) → new_esEs41(new_compare19(zzz832, zzz838))
new_esEs38(zzz8880, zzz8890, app(ty_Maybe, gbd)) → new_esEs21(zzz8880, zzz8890, gbd)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(app(ty_@2, fea), feb), bbg) → new_ltEs18(zzz8880, zzz8890, fea, feb)
new_lt22(zzz961, zzz963, app(app(app(ty_@3, cbd), cbe), cbf)) → new_lt17(zzz961, zzz963, cbd, cbe, cbf)
new_lt6(zzz8880, zzz8890, app(ty_Maybe, dah)) → new_lt7(zzz8880, zzz8890, dah)
new_compare0([], :(zzz8040, zzz8041), bcg) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_esEs15(zzz79800, zzz80400, app(ty_[], ff)) → new_esEs22(zzz79800, zzz80400, ff)
new_esEs7(zzz7982, zzz8042, ty_Char) → new_esEs18(zzz7982, zzz8042)
new_gt13(zzz832, zzz838, efb) → new_esEs41(new_compare9(zzz832, zzz838, efb))
new_asAs(True, zzz1000) → zzz1000
new_ltEs22(zzz900, zzz901, ty_Float) → new_ltEs11(zzz900, zzz901)
new_esEs9(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_ltEs5(zzz8882, zzz8892, app(ty_Maybe, cgd)) → new_ltEs6(zzz8882, zzz8892, cgd)
new_ltEs16(LT, LT) → True
new_esEs4(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_gt14(zzz1187, zzz1182, ty_Bool) → new_gt2(zzz1187, zzz1182)
new_esEs14(zzz79801, zzz80401, ty_Integer) → new_esEs26(zzz79801, zzz80401)
new_lt5(zzz8881, zzz8891, ty_Int) → new_lt9(zzz8881, zzz8891)
new_lt22(zzz961, zzz963, ty_@0) → new_lt14(zzz961, zzz963)
new_ltEs23(zzz962, zzz964, ty_@0) → new_ltEs13(zzz962, zzz964)
new_ltEs20(zzz907, zzz908, ty_Int) → new_ltEs8(zzz907, zzz908)
new_esEs17(:%(zzz79800, zzz79801), :%(zzz80400, zzz80401), cgb) → new_asAs(new_esEs40(zzz79800, zzz80400, cgb), new_esEs39(zzz79801, zzz80401, cgb))
new_compare9(:%(zzz7980, zzz7981), :%(zzz8040, zzz8041), ty_Integer) → new_compare17(new_sr0(zzz7980, zzz8041), new_sr0(zzz8040, zzz7981))
new_compare6(Nothing, Just(zzz8040), cff) → LT
new_gt14(zzz1187, zzz1182, ty_Float) → new_gt8(zzz1187, zzz1182)
new_esEs31(zzz79802, zzz80402, app(app(ty_@2, dgc), dgd)) → new_esEs13(zzz79802, zzz80402, dgc, dgd)
new_ltEs24(zzz8881, zzz8891, ty_Bool) → new_ltEs15(zzz8881, zzz8891)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, app(ty_Ratio, bge)) → new_esEs17(zzz79800, zzz80400, bge)
new_lt6(zzz8880, zzz8890, ty_Ordering) → new_lt16(zzz8880, zzz8890)
new_esEs8(zzz7981, zzz8041, app(ty_Ratio, egh)) → new_esEs17(zzz7981, zzz8041, egh)
new_lt25(zzz1085, zzz10890, ty_Int) → new_lt9(zzz1085, zzz10890)
new_esEs8(zzz7981, zzz8041, ty_Int) → new_esEs28(zzz7981, zzz8041)
new_esEs34(zzz949, zzz952, ty_Ordering) → new_esEs19(zzz949, zzz952)
new_primCompAux0(zzz894, EQ) → zzz894
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_not(True) → False
new_compare210(zzz961, zzz962, zzz963, zzz964, True, caf, cag) → EQ
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_lt25(zzz1085, zzz10890, app(ty_Maybe, bhd)) → new_lt7(zzz1085, zzz10890, bhd)
new_compare31(zzz7980, zzz8040, ty_Bool) → new_compare5(zzz7980, zzz8040)
new_esEs27(@0, @0) → True
new_lt15(zzz798, zzz804) → new_esEs12(new_compare17(zzz798, zzz804))
new_lt22(zzz961, zzz963, ty_Int) → new_lt9(zzz961, zzz963)
new_esEs35(zzz948, zzz951, ty_Int) → new_esEs28(zzz948, zzz951)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Double, bfa) → new_esEs25(zzz79800, zzz80400)
new_ltEs15(True, False) → False
new_ltEs16(GT, GT) → True
new_compare7(Left(zzz7980), Right(zzz8040), ga, gb) → LT
new_lt25(zzz1085, zzz10890, app(app(ty_@2, cad), cae)) → new_lt19(zzz1085, zzz10890, cad, cae)
new_ltEs5(zzz8882, zzz8892, app(app(ty_Either, cgf), cgg)) → new_ltEs10(zzz8882, zzz8892, cgf, cgg)
new_esEs10(zzz7981, zzz8041, ty_Int) → new_esEs28(zzz7981, zzz8041)
new_esEs9(zzz7980, zzz8040, app(app(ty_@2, fag), fah)) → new_esEs13(zzz7980, zzz8040, fag, fah)
new_ltEs19(zzz950, zzz953, app(ty_[], ebe)) → new_ltEs9(zzz950, zzz953, ebe)
new_ltEs10(Left(zzz8880), Right(zzz8890), bbf, bbg) → True
new_compare19(Double(zzz7980, zzz7981), Double(zzz8040, zzz8041)) → new_compare14(new_sr(zzz7980, zzz8040), new_sr(zzz7981, zzz8041))
new_compare10(zzz984, zzz985, True, def, deg) → LT
new_esEs14(zzz79801, zzz80401, app(ty_Maybe, eb)) → new_esEs21(zzz79801, zzz80401, eb)
new_esEs14(zzz79801, zzz80401, ty_Bool) → new_esEs23(zzz79801, zzz80401)
new_esEs11(zzz7980, zzz8040, app(ty_Maybe, fhf)) → new_esEs21(zzz7980, zzz8040, fhf)
new_esEs11(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_ltEs16(LT, GT) → True
new_lt23(zzz8880, zzz8890, ty_Char) → new_lt13(zzz8880, zzz8890)
new_compare31(zzz7980, zzz8040, ty_Double) → new_compare19(zzz7980, zzz8040)
new_esEs9(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_esEs15(zzz79800, zzz80400, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_ltEs22(zzz900, zzz901, app(app(ty_Either, bdf), bdg)) → new_ltEs10(zzz900, zzz901, bdf, bdg)
new_esEs20(Right(zzz79800), Left(zzz80400), bga, bfa) → False
new_esEs20(Left(zzz79800), Right(zzz80400), bga, bfa) → False
new_primMulNat0(Zero, Zero) → Zero
new_lt6(zzz8880, zzz8890, ty_Bool) → new_lt4(zzz8880, zzz8890)
new_ltEs10(Right(zzz8880), Right(zzz8890), bbf, app(ty_[], fed)) → new_ltEs9(zzz8880, zzz8890, fed)
new_esEs11(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_esEs4(zzz7980, zzz8040, app(ty_Maybe, bf)) → new_esEs21(zzz7980, zzz8040, bf)
new_esEs4(zzz7980, zzz8040, app(ty_[], cgc)) → new_esEs22(zzz7980, zzz8040, cgc)
new_esEs20(Left(zzz79800), Left(zzz80400), app(ty_Maybe, bfe), bfa) → new_esEs21(zzz79800, zzz80400, bfe)
new_gt14(zzz1187, zzz1182, ty_Char) → new_gt9(zzz1187, zzz1182)
new_compare31(zzz7980, zzz8040, ty_Float) → new_compare16(zzz7980, zzz8040)
new_esEs34(zzz949, zzz952, ty_Bool) → new_esEs23(zzz949, zzz952)
new_esEs29(zzz8881, zzz8891, app(ty_Maybe, chf)) → new_esEs21(zzz8881, zzz8891, chf)
new_esEs15(zzz79800, zzz80400, app(app(ty_Either, fb), fc)) → new_esEs20(zzz79800, zzz80400, fb, fc)
new_lt22(zzz961, zzz963, app(app(ty_@2, cbh), cca)) → new_lt19(zzz961, zzz963, cbh, cca)
new_esEs35(zzz948, zzz951, ty_@0) → new_esEs27(zzz948, zzz951)
new_esEs32(zzz79801, zzz80401, ty_Float) → new_esEs24(zzz79801, zzz80401)
new_ltEs10(Right(zzz8880), Right(zzz8890), bbf, ty_Double) → new_ltEs7(zzz8880, zzz8890)
new_esEs6(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_ltEs19(zzz950, zzz953, ty_@0) → new_ltEs13(zzz950, zzz953)
new_esEs14(zzz79801, zzz80401, ty_Int) → new_esEs28(zzz79801, zzz80401)
new_esEs29(zzz8881, zzz8891, ty_Float) → new_esEs24(zzz8881, zzz8891)
new_esEs37(zzz961, zzz963, ty_Double) → new_esEs25(zzz961, zzz963)
new_esEs32(zzz79801, zzz80401, ty_Ordering) → new_esEs19(zzz79801, zzz80401)
new_esEs31(zzz79802, zzz80402, app(ty_Maybe, dga)) → new_esEs21(zzz79802, zzz80402, dga)
new_gt14(zzz1187, zzz1182, app(app(ty_@2, bag), bah)) → new_gt6(zzz1187, zzz1182, bag, bah)
new_esEs35(zzz948, zzz951, ty_Double) → new_esEs25(zzz948, zzz951)
new_lt25(zzz1085, zzz10890, ty_Double) → new_lt8(zzz1085, zzz10890)
new_esEs30(zzz8880, zzz8890, ty_Ordering) → new_esEs19(zzz8880, zzz8890)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, app(app(ty_Either, bgf), bgg)) → new_esEs20(zzz79800, zzz80400, bgf, bgg)
new_esEs33(zzz79800, zzz80400, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_ltEs22(zzz900, zzz901, ty_Bool) → new_ltEs15(zzz900, zzz901)
new_esEs32(zzz79801, zzz80401, ty_Int) → new_esEs28(zzz79801, zzz80401)
new_compare15(zzz977, zzz978, False, bcf) → GT
new_lt25(zzz1085, zzz10890, app(app(app(ty_@3, bhh), caa), cab)) → new_lt17(zzz1085, zzz10890, bhh, caa, cab)
new_compare18(EQ, EQ) → EQ
new_gt5(zzz832, zzz838, cdg) → new_esEs41(new_compare0(zzz832, zzz838, cdg))
new_esEs14(zzz79801, zzz80401, app(ty_Ratio, dg)) → new_esEs17(zzz79801, zzz80401, dg)
new_esEs4(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_esEs38(zzz8880, zzz8890, ty_Ordering) → new_esEs19(zzz8880, zzz8890)
new_gt10(zzz832, zzz838, fbc) → new_esEs41(new_compare6(zzz832, zzz838, fbc))
new_esEs38(zzz8880, zzz8890, ty_Integer) → new_esEs26(zzz8880, zzz8890)
new_esEs8(zzz7981, zzz8041, app(ty_[], ehd)) → new_esEs22(zzz7981, zzz8041, ehd)
new_ltEs15(True, True) → True
new_lt21(zzz948, zzz951, app(app(app(ty_@3, eed), eee), eef)) → new_lt17(zzz948, zzz951, eed, eee, eef)
new_esEs29(zzz8881, zzz8891, ty_Char) → new_esEs18(zzz8881, zzz8891)
new_esEs34(zzz949, zzz952, ty_Float) → new_esEs24(zzz949, zzz952)
new_ltEs15(False, True) → True
new_esEs36(zzz79800, zzz80400, app(ty_[], fcf)) → new_esEs22(zzz79800, zzz80400, fcf)
new_ltEs22(zzz900, zzz901, app(ty_Maybe, bdd)) → new_ltEs6(zzz900, zzz901, bdd)
new_ltEs16(EQ, GT) → True
new_lt25(zzz1085, zzz10890, ty_Integer) → new_lt15(zzz1085, zzz10890)
new_ltEs24(zzz8881, zzz8891, ty_Double) → new_ltEs7(zzz8881, zzz8891)
new_lt23(zzz8880, zzz8890, app(ty_[], gbe)) → new_lt10(zzz8880, zzz8890, gbe)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(app(ty_Either, fdc), fdd), bbg) → new_ltEs10(zzz8880, zzz8890, fdc, fdd)
new_esEs31(zzz79802, zzz80402, ty_@0) → new_esEs27(zzz79802, zzz80402)
new_ltEs18(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), bcd, bce) → new_pePe(new_lt23(zzz8880, zzz8890, bcd), new_asAs(new_esEs38(zzz8880, zzz8890, bcd), new_ltEs24(zzz8881, zzz8891, bce)))
new_ltEs5(zzz8882, zzz8892, app(ty_[], cge)) → new_ltEs9(zzz8882, zzz8892, cge)
new_esEs12(LT) → True
new_ltEs15(False, False) → True
new_lt23(zzz8880, zzz8890, ty_Float) → new_lt12(zzz8880, zzz8890)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(app(app(ty_@3, fde), fdf), fdg), bbg) → new_ltEs4(zzz8880, zzz8890, fde, fdf, fdg)
new_compare18(GT, GT) → EQ
new_lt5(zzz8881, zzz8891, ty_Float) → new_lt12(zzz8881, zzz8891)
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_esEs11(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_ltEs21(zzz888, zzz889, ty_Bool) → new_ltEs15(zzz888, zzz889)
new_lt22(zzz961, zzz963, app(ty_Maybe, cah)) → new_lt7(zzz961, zzz963, cah)
new_ltEs19(zzz950, zzz953, app(app(app(ty_@3, ebh), eca), ecb)) → new_ltEs4(zzz950, zzz953, ebh, eca, ecb)
new_esEs15(zzz79800, zzz80400, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_esEs29(zzz8881, zzz8891, ty_Ordering) → new_esEs19(zzz8881, zzz8891)
new_esEs10(zzz7981, zzz8041, app(app(ty_@2, fgf), fgg)) → new_esEs13(zzz7981, zzz8041, fgf, fgg)
new_esEs37(zzz961, zzz963, app(ty_Ratio, cbg)) → new_esEs17(zzz961, zzz963, cbg)
new_lt20(zzz949, zzz952, app(app(ty_@2, edf), edg)) → new_lt19(zzz949, zzz952, edf, edg)
new_compare18(LT, GT) → LT
new_esEs38(zzz8880, zzz8890, ty_Int) → new_esEs28(zzz8880, zzz8890)
new_lt23(zzz8880, zzz8890, ty_Integer) → new_lt15(zzz8880, zzz8890)
new_esEs37(zzz961, zzz963, app(app(ty_Either, cbb), cbc)) → new_esEs20(zzz961, zzz963, cbb, cbc)
new_esEs7(zzz7982, zzz8042, app(app(ty_Either, efg), efh)) → new_esEs20(zzz7982, zzz8042, efg, efh)
new_lt6(zzz8880, zzz8890, app(ty_Ratio, dbg)) → new_lt18(zzz8880, zzz8890, dbg)
new_compare31(zzz7980, zzz8040, ty_Ordering) → new_compare18(zzz7980, zzz8040)
new_compare27(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, False, eba, ebb, ebc) → new_compare11(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, new_lt21(zzz948, zzz951, eba), new_asAs(new_esEs35(zzz948, zzz951, eba), new_pePe(new_lt20(zzz949, zzz952, ebb), new_asAs(new_esEs34(zzz949, zzz952, ebb), new_ltEs19(zzz950, zzz953, ebc)))), eba, ebb, ebc)
new_ltEs17(zzz888, zzz889, bcc) → new_fsEs(new_compare9(zzz888, zzz889, bcc))
new_ltEs12(zzz888, zzz889) → new_fsEs(new_compare29(zzz888, zzz889))
new_lt8(zzz798, zzz804) → new_esEs12(new_compare19(zzz798, zzz804))
new_ltEs22(zzz900, zzz901, ty_Char) → new_ltEs12(zzz900, zzz901)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_esEs20(Left(zzz79800), Left(zzz80400), app(ty_Ratio, bfb), bfa) → new_esEs17(zzz79800, zzz80400, bfb)
new_esEs14(zzz79801, zzz80401, app(ty_[], ec)) → new_esEs22(zzz79801, zzz80401, ec)
new_esEs5(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_ltEs5(zzz8882, zzz8892, ty_Float) → new_ltEs11(zzz8882, zzz8892)
new_lt22(zzz961, zzz963, app(ty_Ratio, cbg)) → new_lt18(zzz961, zzz963, cbg)
new_compare110(zzz1009, zzz1010, zzz1011, zzz1012, False, zzz1014, bch, bda) → new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, zzz1014, bch, bda)
new_esEs9(zzz7980, zzz8040, app(ty_[], faf)) → new_esEs22(zzz7980, zzz8040, faf)
new_esEs8(zzz7981, zzz8041, ty_Char) → new_esEs18(zzz7981, zzz8041)
new_ltEs11(zzz888, zzz889) → new_fsEs(new_compare16(zzz888, zzz889))
new_ltEs13(zzz888, zzz889) → new_fsEs(new_compare13(zzz888, zzz889))
new_esEs10(zzz7981, zzz8041, ty_Ordering) → new_esEs19(zzz7981, zzz8041)
new_esEs8(zzz7981, zzz8041, app(ty_Maybe, ehc)) → new_esEs21(zzz7981, zzz8041, ehc)
new_ltEs16(LT, EQ) → True
new_lt23(zzz8880, zzz8890, app(app(ty_@2, gce), gcf)) → new_lt19(zzz8880, zzz8890, gce, gcf)
new_esEs5(zzz7980, zzz8040, app(ty_[], dda)) → new_esEs22(zzz7980, zzz8040, dda)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Ordering) → new_ltEs16(zzz8880, zzz8890)
new_ltEs19(zzz950, zzz953, app(ty_Ratio, ecc)) → new_ltEs17(zzz950, zzz953, ecc)
new_lt25(zzz1085, zzz10890, app(app(ty_Either, bhf), bhg)) → new_lt11(zzz1085, zzz10890, bhf, bhg)
new_lt23(zzz8880, zzz8890, ty_@0) → new_lt14(zzz8880, zzz8890)
new_lt23(zzz8880, zzz8890, ty_Int) → new_lt9(zzz8880, zzz8890)
new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, True, bch, bda) → LT
new_lt20(zzz949, zzz952, app(app(app(ty_@3, edb), edc), edd)) → new_lt17(zzz949, zzz952, edb, edc, edd)
new_ltEs20(zzz907, zzz908, ty_Char) → new_ltEs12(zzz907, zzz908)
new_ltEs20(zzz907, zzz908, app(ty_Ratio, hd)) → new_ltEs17(zzz907, zzz908, hd)
new_lt18(zzz798, zzz804, ffe) → new_esEs12(new_compare9(zzz798, zzz804, ffe))
new_primEqInt(Neg(Succ(zzz798000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(zzz804000))) → False
new_ltEs19(zzz950, zzz953, ty_Char) → new_ltEs12(zzz950, zzz953)
new_esEs36(zzz79800, zzz80400, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_esEs40(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_esEs7(zzz7982, zzz8042, ty_Ordering) → new_esEs19(zzz7982, zzz8042)
new_esEs6(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_esEs15(zzz79800, zzz80400, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_gt14(zzz1187, zzz1182, app(ty_Maybe, hg)) → new_gt10(zzz1187, zzz1182, hg)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_@0) → new_ltEs13(zzz8880, zzz8890)
new_lt6(zzz8880, zzz8890, ty_Float) → new_lt12(zzz8880, zzz8890)
new_lt6(zzz8880, zzz8890, ty_@0) → new_lt14(zzz8880, zzz8890)
new_ltEs24(zzz8881, zzz8891, app(app(ty_Either, gad), gae)) → new_ltEs10(zzz8881, zzz8891, gad, gae)
new_ltEs16(GT, LT) → False
new_lt20(zzz949, zzz952, ty_Double) → new_lt8(zzz949, zzz952)
new_lt6(zzz8880, zzz8890, ty_Double) → new_lt8(zzz8880, zzz8890)
new_esEs35(zzz948, zzz951, ty_Char) → new_esEs18(zzz948, zzz951)
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_esEs38(zzz8880, zzz8890, ty_Float) → new_esEs24(zzz8880, zzz8890)
new_lt6(zzz8880, zzz8890, ty_Char) → new_lt13(zzz8880, zzz8890)
new_ltEs23(zzz962, zzz964, ty_Double) → new_ltEs7(zzz962, zzz964)
new_compare10(zzz984, zzz985, False, def, deg) → GT
new_ltEs23(zzz962, zzz964, app(app(app(ty_@3, ccf), ccg), cch)) → new_ltEs4(zzz962, zzz964, ccf, ccg, cch)
new_ltEs5(zzz8882, zzz8892, ty_Ordering) → new_ltEs16(zzz8882, zzz8892)
new_esEs38(zzz8880, zzz8890, app(app(ty_@2, gce), gcf)) → new_esEs13(zzz8880, zzz8890, gce, gcf)
new_esEs14(zzz79801, zzz80401, ty_Ordering) → new_esEs19(zzz79801, zzz80401)
new_esEs34(zzz949, zzz952, ty_Int) → new_esEs28(zzz949, zzz952)
new_esEs36(zzz79800, zzz80400, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_compare12(zzz991, zzz992, True, fba, fbb) → LT
new_esEs11(zzz7980, zzz8040, app(app(ty_Either, fhd), fhe)) → new_esEs20(zzz7980, zzz8040, fhd, fhe)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Bool, bbg) → new_ltEs15(zzz8880, zzz8890)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_lt10(zzz798, zzz804, bcg) → new_esEs12(new_compare0(zzz798, zzz804, bcg))
new_lt16(zzz798, zzz804) → new_esEs12(new_compare18(zzz798, zzz804))
new_compare6(Nothing, Nothing, cff) → EQ
new_lt25(zzz1085, zzz10890, ty_Float) → new_lt12(zzz1085, zzz10890)
new_esEs30(zzz8880, zzz8890, ty_Integer) → new_esEs26(zzz8880, zzz8890)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Char) → new_ltEs12(zzz8880, zzz8890)
new_ltEs8(zzz888, zzz889) → new_fsEs(new_compare14(zzz888, zzz889))
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Float) → new_esEs24(zzz79800, zzz80400)
new_primEqInt(Pos(Succ(zzz798000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(zzz804000))) → False
new_esEs5(zzz7980, zzz8040, app(app(ty_@2, ddb), ddc)) → new_esEs13(zzz7980, zzz8040, ddb, ddc)
new_ltEs5(zzz8882, zzz8892, ty_@0) → new_ltEs13(zzz8882, zzz8892)
new_ltEs19(zzz950, zzz953, app(ty_Maybe, ebd)) → new_ltEs6(zzz950, zzz953, ebd)
new_ltEs24(zzz8881, zzz8891, app(app(ty_@2, gbb), gbc)) → new_ltEs18(zzz8881, zzz8891, gbb, gbc)
new_esEs5(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_primCmpNat0(Zero, Zero) → EQ
new_compare27(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, True, eba, ebb, ebc) → EQ
new_esEs13(@2(zzz79800, zzz79801), @2(zzz80400, zzz80401), db, dc) → new_asAs(new_esEs15(zzz79800, zzz80400, db), new_esEs14(zzz79801, zzz80401, dc))
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_esEs36(zzz79800, zzz80400, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_ltEs21(zzz888, zzz889, app(ty_Ratio, bcc)) → new_ltEs17(zzz888, zzz889, bcc)
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_esEs10(zzz7981, zzz8041, ty_Float) → new_esEs24(zzz7981, zzz8041)
new_gt14(zzz1187, zzz1182, app(ty_Ratio, baf)) → new_gt13(zzz1187, zzz1182, baf)
new_esEs37(zzz961, zzz963, ty_Float) → new_esEs24(zzz961, zzz963)
new_esEs11(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(ty_[], fdb), bbg) → new_ltEs9(zzz8880, zzz8890, fdb)
new_esEs20(Left(zzz79800), Left(zzz80400), app(app(ty_Either, bfc), bfd), bfa) → new_esEs20(zzz79800, zzz80400, bfc, bfd)
new_sr0(Integer(zzz79800), Integer(zzz80410)) → Integer(new_primMulInt(zzz79800, zzz80410))
new_esEs23(True, True) → True
new_primEqInt(Pos(Succ(zzz798000)), Neg(zzz80400)) → False
new_primEqInt(Neg(Succ(zzz798000)), Pos(zzz80400)) → False
new_lt25(zzz1085, zzz10890, app(ty_Ratio, cac)) → new_lt18(zzz1085, zzz10890, cac)
new_ltEs5(zzz8882, zzz8892, ty_Double) → new_ltEs7(zzz8882, zzz8892)
new_esEs22(:(zzz79800, zzz79801), :(zzz80400, zzz80401), cgc) → new_asAs(new_esEs36(zzz79800, zzz80400, cgc), new_esEs22(zzz79801, zzz80401, cgc))
new_ltEs6(Just(zzz8880), Just(zzz8890), app(ty_Maybe, gcg)) → new_ltEs6(zzz8880, zzz8890, gcg)
new_esEs5(zzz7980, zzz8040, app(ty_Maybe, dch)) → new_esEs21(zzz7980, zzz8040, dch)
new_compare5(True, False) → GT
new_lt6(zzz8880, zzz8890, ty_Integer) → new_lt15(zzz8880, zzz8890)
new_compare18(EQ, LT) → GT
new_ltEs22(zzz900, zzz901, app(app(app(ty_@3, bdh), bea), beb)) → new_ltEs4(zzz900, zzz901, bdh, bea, beb)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Char) → new_esEs18(zzz79800, zzz80400)
new_esEs23(True, False) → False
new_esEs23(False, True) → False
new_ltEs23(zzz962, zzz964, app(app(ty_@2, cdb), cdc)) → new_ltEs18(zzz962, zzz964, cdb, cdc)
new_esEs33(zzz79800, zzz80400, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_esEs38(zzz8880, zzz8890, app(app(app(ty_@3, gbh), gca), gcb)) → new_esEs16(zzz8880, zzz8890, gbh, gca, gcb)
new_esEs35(zzz948, zzz951, app(ty_Maybe, edh)) → new_esEs21(zzz948, zzz951, edh)
new_esEs22([], [], cgc) → True
new_esEs41(EQ) → False
new_esEs6(zzz7980, zzz8040, app(app(ty_@2, ded), dee)) → new_esEs13(zzz7980, zzz8040, ded, dee)
new_esEs15(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs11(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_esEs7(zzz7982, zzz8042, app(ty_Ratio, eff)) → new_esEs17(zzz7982, zzz8042, eff)
new_ltEs23(zzz962, zzz964, app(ty_Ratio, cda)) → new_ltEs17(zzz962, zzz964, cda)
new_esEs29(zzz8881, zzz8891, ty_Bool) → new_esEs23(zzz8881, zzz8891)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, app(app(ty_@2, bhb), bhc)) → new_esEs13(zzz79800, zzz80400, bhb, bhc)
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_esEs8(zzz7981, zzz8041, ty_Ordering) → new_esEs19(zzz7981, zzz8041)
new_esEs33(zzz79800, zzz80400, app(ty_Ratio, eab)) → new_esEs17(zzz79800, zzz80400, eab)
new_esEs31(zzz79802, zzz80402, app(ty_[], dgb)) → new_esEs22(zzz79802, zzz80402, dgb)
new_lt21(zzz948, zzz951, ty_Bool) → new_lt4(zzz948, zzz951)
new_ltEs5(zzz8882, zzz8892, ty_Integer) → new_ltEs14(zzz8882, zzz8892)
new_lt21(zzz948, zzz951, ty_@0) → new_lt14(zzz948, zzz951)
new_lt22(zzz961, zzz963, ty_Ordering) → new_lt16(zzz961, zzz963)
new_esEs34(zzz949, zzz952, ty_@0) → new_esEs27(zzz949, zzz952)
new_esEs5(zzz7980, zzz8040, app(app(app(ty_@3, dcb), dcc), dcd)) → new_esEs16(zzz7980, zzz8040, dcb, dcc, dcd)
new_esEs8(zzz7981, zzz8041, ty_Integer) → new_esEs26(zzz7981, zzz8041)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_@0, bfa) → new_esEs27(zzz79800, zzz80400)
new_esEs19(GT, LT) → False
new_esEs19(LT, GT) → False
new_esEs31(zzz79802, zzz80402, ty_Integer) → new_esEs26(zzz79802, zzz80402)
new_lt21(zzz948, zzz951, ty_Double) → new_lt8(zzz948, zzz951)
new_esEs5(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_esEs38(zzz8880, zzz8890, ty_@0) → new_esEs27(zzz8880, zzz8890)
new_lt23(zzz8880, zzz8890, app(app(ty_Either, gbf), gbg)) → new_lt11(zzz8880, zzz8890, gbf, gbg)
new_esEs6(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_lt25(zzz1085, zzz10890, app(ty_[], bhe)) → new_lt10(zzz1085, zzz10890, bhe)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_esEs4(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_esEs30(zzz8880, zzz8890, app(app(ty_Either, dbb), dbc)) → new_esEs20(zzz8880, zzz8890, dbb, dbc)
new_lt7(zzz798, zzz804, cff) → new_esEs12(new_compare6(zzz798, zzz804, cff))
new_esEs15(zzz79800, zzz80400, app(ty_Ratio, fa)) → new_esEs17(zzz79800, zzz80400, fa)
new_ltEs21(zzz888, zzz889, app(app(app(ty_@3, bbh), bca), bcb)) → new_ltEs4(zzz888, zzz889, bbh, bca, bcb)
new_lt20(zzz949, zzz952, ty_@0) → new_lt14(zzz949, zzz952)
new_ltEs22(zzz900, zzz901, ty_@0) → new_ltEs13(zzz900, zzz901)
new_gt1(zzz832, zzz838, bba, bbb) → new_esEs41(new_compare7(zzz832, zzz838, bba, bbb))
new_esEs34(zzz949, zzz952, app(ty_[], ecg)) → new_esEs22(zzz949, zzz952, ecg)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_ltEs6(Just(zzz8880), Just(zzz8890), app(app(ty_Either, gda), gdb)) → new_ltEs10(zzz8880, zzz8890, gda, gdb)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(ty_Ratio, gdf)) → new_ltEs17(zzz8880, zzz8890, gdf)
new_esEs33(zzz79800, zzz80400, app(ty_Maybe, eae)) → new_esEs21(zzz79800, zzz80400, eae)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(ty_[], gch)) → new_ltEs9(zzz8880, zzz8890, gch)
new_esEs9(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_ltEs24(zzz8881, zzz8891, ty_Ordering) → new_ltEs16(zzz8881, zzz8891)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Double, bbg) → new_ltEs7(zzz8880, zzz8890)
new_esEs5(zzz7980, zzz8040, app(app(ty_Either, dcf), dcg)) → new_esEs20(zzz7980, zzz8040, dcf, dcg)
new_ltEs20(zzz907, zzz908, app(ty_Maybe, ge)) → new_ltEs6(zzz907, zzz908, ge)
new_lt21(zzz948, zzz951, ty_Integer) → new_lt15(zzz948, zzz951)
new_esEs11(zzz7980, zzz8040, app(app(app(ty_@3, fgh), fha), fhb)) → new_esEs16(zzz7980, zzz8040, fgh, fha, fhb)
new_esEs9(zzz7980, zzz8040, app(ty_Ratio, fab)) → new_esEs17(zzz7980, zzz8040, fab)
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_esEs29(zzz8881, zzz8891, app(app(ty_Either, chh), daa)) → new_esEs20(zzz8881, zzz8891, chh, daa)
new_esEs37(zzz961, zzz963, ty_Bool) → new_esEs23(zzz961, zzz963)
new_ltEs22(zzz900, zzz901, ty_Integer) → new_ltEs14(zzz900, zzz901)
new_esEs37(zzz961, zzz963, ty_Char) → new_esEs18(zzz961, zzz963)
new_ltEs21(zzz888, zzz889, app(app(ty_Either, bbf), bbg)) → new_ltEs10(zzz888, zzz889, bbf, bbg)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_@0) → new_esEs27(zzz79800, zzz80400)
new_gt9(zzz832, zzz838) → new_esEs41(new_compare29(zzz832, zzz838))
new_esEs31(zzz79802, zzz80402, ty_Float) → new_esEs24(zzz79802, zzz80402)
new_compare6(Just(zzz7980), Just(zzz8040), cff) → new_compare28(zzz7980, zzz8040, new_esEs4(zzz7980, zzz8040, cff), cff)
new_esEs33(zzz79800, zzz80400, app(ty_[], eaf)) → new_esEs22(zzz79800, zzz80400, eaf)
new_esEs19(GT, EQ) → False
new_esEs19(EQ, GT) → False
new_lt5(zzz8881, zzz8891, app(ty_Maybe, chf)) → new_lt7(zzz8881, zzz8891, chf)
new_lt5(zzz8881, zzz8891, ty_Bool) → new_lt4(zzz8881, zzz8891)
new_lt25(zzz1085, zzz10890, ty_Ordering) → new_lt16(zzz1085, zzz10890)
new_esEs10(zzz7981, zzz8041, ty_Integer) → new_esEs26(zzz7981, zzz8041)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(app(app(ty_@3, gdc), gdd), gde)) → new_ltEs4(zzz8880, zzz8890, gdc, gdd, gde)
new_esEs22([], :(zzz80400, zzz80401), cgc) → False
new_esEs22(:(zzz79800, zzz79801), [], cgc) → False
new_esEs5(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_lt23(zzz8880, zzz8890, ty_Ordering) → new_lt16(zzz8880, zzz8890)
new_gt14(zzz1187, zzz1182, ty_@0) → new_gt3(zzz1187, zzz1182)
new_gt14(zzz1187, zzz1182, app(app(ty_Either, baa), bab)) → new_gt1(zzz1187, zzz1182, baa, bab)
new_gt14(zzz1187, zzz1182, app(app(app(ty_@3, bac), bad), bae)) → new_gt12(zzz1187, zzz1182, bac, bad, bae)
new_gt2(zzz832, zzz838) → new_esEs41(new_compare5(zzz832, zzz838))
new_lt4(zzz798, zzz804) → new_esEs12(new_compare5(zzz798, zzz804))
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_esEs6(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_lt17(zzz798, zzz804, deh, dfa, dfb) → new_esEs12(new_compare8(zzz798, zzz804, deh, dfa, dfb))
new_ltEs20(zzz907, zzz908, ty_Bool) → new_ltEs15(zzz907, zzz908)
new_gt14(zzz1187, zzz1182, ty_Int) → new_gt11(zzz1187, zzz1182)
new_esEs33(zzz79800, zzz80400, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_esEs31(zzz79802, zzz80402, ty_Ordering) → new_esEs19(zzz79802, zzz80402)
new_lt21(zzz948, zzz951, ty_Int) → new_lt9(zzz948, zzz951)
new_esEs15(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_lt22(zzz961, zzz963, app(ty_[], cba)) → new_lt10(zzz961, zzz963, cba)
new_esEs38(zzz8880, zzz8890, ty_Double) → new_esEs25(zzz8880, zzz8890)
new_gt8(zzz832, zzz838) → new_esEs41(new_compare16(zzz832, zzz838))
new_esEs7(zzz7982, zzz8042, ty_Int) → new_esEs28(zzz7982, zzz8042)
new_ltEs5(zzz8882, zzz8892, ty_Char) → new_ltEs12(zzz8882, zzz8892)
new_ltEs10(Right(zzz8880), Right(zzz8890), bbf, ty_Int) → new_ltEs8(zzz8880, zzz8890)
new_lt21(zzz948, zzz951, ty_Ordering) → new_lt16(zzz948, zzz951)
new_ltEs23(zzz962, zzz964, ty_Bool) → new_ltEs15(zzz962, zzz964)
new_ltEs4(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), bbh, bca, bcb) → new_pePe(new_lt6(zzz8880, zzz8890, bbh), new_asAs(new_esEs30(zzz8880, zzz8890, bbh), new_pePe(new_lt5(zzz8881, zzz8891, bca), new_asAs(new_esEs29(zzz8881, zzz8891, bca), new_ltEs5(zzz8882, zzz8892, bcb)))))
new_ltEs10(Right(zzz8880), Right(zzz8890), bbf, app(ty_Maybe, fec)) → new_ltEs6(zzz8880, zzz8890, fec)
new_esEs35(zzz948, zzz951, ty_Float) → new_esEs24(zzz948, zzz951)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Bool) → new_ltEs15(zzz8880, zzz8890)
new_esEs15(zzz79800, zzz80400, app(ty_Maybe, fd)) → new_esEs21(zzz79800, zzz80400, fd)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Char, bbg) → new_ltEs12(zzz8880, zzz8890)
new_ltEs9(zzz888, zzz889, bbe) → new_fsEs(new_compare0(zzz888, zzz889, bbe))
new_esEs41(LT) → False
new_esEs20(Left(zzz79800), Left(zzz80400), app(app(ty_@2, bfg), bfh), bfa) → new_esEs13(zzz79800, zzz80400, bfg, bfh)
new_esEs32(zzz79801, zzz80401, app(ty_Ratio, dgh)) → new_esEs17(zzz79801, zzz80401, dgh)
new_ltEs24(zzz8881, zzz8891, ty_Char) → new_ltEs12(zzz8881, zzz8891)
new_gt0(zzz832, zzz838) → new_esEs41(new_compare17(zzz832, zzz838))
new_ltEs21(zzz888, zzz889, ty_@0) → new_ltEs13(zzz888, zzz889)
new_ltEs20(zzz907, zzz908, ty_Float) → new_ltEs11(zzz907, zzz908)
new_compare18(LT, LT) → EQ
new_ltEs10(Right(zzz8880), Left(zzz8890), bbf, bbg) → False
new_esEs36(zzz79800, zzz80400, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_ltEs22(zzz900, zzz901, app(ty_[], bde)) → new_ltEs9(zzz900, zzz901, bde)
new_lt21(zzz948, zzz951, ty_Float) → new_lt12(zzz948, zzz951)
new_esEs7(zzz7982, zzz8042, app(app(app(ty_@3, efc), efd), efe)) → new_esEs16(zzz7982, zzz8042, efc, efd, efe)
new_esEs34(zzz949, zzz952, app(app(ty_@2, edf), edg)) → new_esEs13(zzz949, zzz952, edf, edg)
new_esEs35(zzz948, zzz951, app(app(app(ty_@3, eed), eee), eef)) → new_esEs16(zzz948, zzz951, eed, eee, eef)
new_esEs6(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_esEs35(zzz948, zzz951, ty_Integer) → new_esEs26(zzz948, zzz951)
new_esEs37(zzz961, zzz963, ty_Integer) → new_esEs26(zzz961, zzz963)
new_lt5(zzz8881, zzz8891, ty_Double) → new_lt8(zzz8881, zzz8891)
new_ltEs21(zzz888, zzz889, ty_Integer) → new_ltEs14(zzz888, zzz889)
new_compare15(zzz977, zzz978, True, bcf) → LT
new_esEs8(zzz7981, zzz8041, app(app(ty_@2, ehe), ehf)) → new_esEs13(zzz7981, zzz8041, ehe, ehf)
new_ltEs21(zzz888, zzz889, ty_Double) → new_ltEs7(zzz888, zzz889)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Double) → new_esEs25(zzz79800, zzz80400)
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_lt22(zzz961, zzz963, ty_Bool) → new_lt4(zzz961, zzz963)
new_ltEs23(zzz962, zzz964, ty_Int) → new_ltEs8(zzz962, zzz964)
new_esEs11(zzz7980, zzz8040, app(app(ty_@2, fhh), gaa)) → new_esEs13(zzz7980, zzz8040, fhh, gaa)
new_esEs4(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(app(ty_@2, gdg), gdh)) → new_ltEs18(zzz8880, zzz8890, gdg, gdh)
new_esEs33(zzz79800, zzz80400, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_compare28(zzz888, zzz889, True, bbc) → EQ
new_compare18(LT, EQ) → LT
new_lt20(zzz949, zzz952, ty_Int) → new_lt9(zzz949, zzz952)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Int) → new_ltEs8(zzz8880, zzz8890)
new_esEs29(zzz8881, zzz8891, ty_@0) → new_esEs27(zzz8881, zzz8891)
new_esEs9(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_esEs37(zzz961, zzz963, ty_Ordering) → new_esEs19(zzz961, zzz963)
new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, True, cdd, cde, cdf) → LT
new_esEs15(zzz79800, zzz80400, app(app(ty_@2, fg), fh)) → new_esEs13(zzz79800, zzz80400, fg, fh)
new_ltEs20(zzz907, zzz908, ty_@0) → new_ltEs13(zzz907, zzz908)
new_esEs36(zzz79800, zzz80400, app(ty_Ratio, fcb)) → new_esEs17(zzz79800, zzz80400, fcb)
new_esEs11(zzz7980, zzz8040, app(ty_[], fhg)) → new_esEs22(zzz7980, zzz8040, fhg)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(ty_Ratio, fdh), bbg) → new_ltEs17(zzz8880, zzz8890, fdh)
new_esEs38(zzz8880, zzz8890, app(ty_Ratio, gcc)) → new_esEs17(zzz8880, zzz8890, gcc)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Integer, bbg) → new_ltEs14(zzz8880, zzz8890)
new_lt5(zzz8881, zzz8891, ty_@0) → new_lt14(zzz8881, zzz8891)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Integer, bfa) → new_esEs26(zzz79800, zzz80400)
new_esEs11(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_@0, bbg) → new_ltEs13(zzz8880, zzz8890)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs29(zzz8881, zzz8891, ty_Int) → new_esEs28(zzz8881, zzz8891)
new_ltEs5(zzz8882, zzz8892, app(app(app(ty_@3, cgh), cha), chb)) → new_ltEs4(zzz8882, zzz8892, cgh, cha, chb)
new_esEs32(zzz79801, zzz80401, ty_Char) → new_esEs18(zzz79801, zzz80401)
new_compare9(:%(zzz7980, zzz7981), :%(zzz8040, zzz8041), ty_Int) → new_compare14(new_sr(zzz7980, zzz8041), new_sr(zzz8040, zzz7981))
new_ltEs10(Left(zzz8880), Left(zzz8890), app(ty_Maybe, fda), bbg) → new_ltEs6(zzz8880, zzz8890, fda)
new_esEs32(zzz79801, zzz80401, app(app(ty_@2, dhe), dhf)) → new_esEs13(zzz79801, zzz80401, dhe, dhf)
new_lt22(zzz961, zzz963, app(app(ty_Either, cbb), cbc)) → new_lt11(zzz961, zzz963, cbb, cbc)
new_esEs14(zzz79801, zzz80401, ty_Float) → new_esEs24(zzz79801, zzz80401)
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_gt14(zzz1187, zzz1182, app(ty_[], hh)) → new_gt5(zzz1187, zzz1182, hh)
new_esEs16(@3(zzz79800, zzz79801, zzz79802), @3(zzz80400, zzz80401, zzz80402), cfg, cfh, cga) → new_asAs(new_esEs33(zzz79800, zzz80400, cfg), new_asAs(new_esEs32(zzz79801, zzz80401, cfh), new_esEs31(zzz79802, zzz80402, cga)))

The set Q consists of the following terms:

new_esEs14(x0, x1, ty_Char)
new_esEs32(x0, x1, ty_Ordering)
new_lt6(x0, x1, app(ty_Maybe, x2))
new_gt12(x0, x1, x2, x3, x4)
new_ltEs23(x0, x1, ty_Char)
new_ltEs6(Just(x0), Just(x1), ty_Double)
new_esEs22([], :(x0, x1), x2)
new_esEs11(x0, x1, ty_Integer)
new_esEs36(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt25(x0, x1, ty_Bool)
new_lt21(x0, x1, ty_Integer)
new_esEs22(:(x0, x1), :(x2, x3), x4)
new_ltEs21(x0, x1, ty_Char)
new_esEs15(x0, x1, ty_Integer)
new_gt14(x0, x1, ty_Float)
new_esEs30(x0, x1, ty_Int)
new_lt22(x0, x1, app(ty_Ratio, x2))
new_esEs35(x0, x1, ty_Float)
new_compare11(x0, x1, x2, x3, x4, x5, True, x6, x7, x8, x9)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_Int)
new_esEs38(x0, x1, ty_Bool)
new_ltEs10(Right(x0), Right(x1), x2, ty_@0)
new_esEs9(x0, x1, ty_Integer)
new_esEs34(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Char)
new_ltEs21(x0, x1, ty_Int)
new_esEs35(x0, x1, app(ty_Ratio, x2))
new_ltEs10(Left(x0), Left(x1), ty_Bool, x2)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs37(x0, x1, ty_Char)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs8(x0, x1, ty_Int)
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_compare25(x0, x1, True, x2, x3)
new_ltEs6(Just(x0), Just(x1), ty_Int)
new_ltEs15(True, True)
new_esEs20(Left(x0), Right(x1), x2, x3)
new_esEs20(Right(x0), Left(x1), x2, x3)
new_esEs32(x0, x1, ty_Int)
new_lt5(x0, x1, app(ty_Maybe, x2))
new_gt3(x0, x1)
new_esEs33(x0, x1, app(app(ty_Either, x2), x3))
new_esEs14(x0, x1, ty_Bool)
new_ltEs24(x0, x1, ty_Char)
new_esEs21(Just(x0), Just(x1), ty_@0)
new_esEs4(x0, x1, ty_Int)
new_esEs8(x0, x1, ty_Integer)
new_compare6(Just(x0), Just(x1), x2)
new_ltEs23(x0, x1, ty_@0)
new_ltEs6(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_compare0([], :(x0, x1), x2)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_lt25(x0, x1, app(app(ty_Either, x2), x3))
new_lt22(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Float)
new_esEs20(Left(x0), Left(x1), ty_@0, x2)
new_esEs20(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs14(x0, x1)
new_esEs10(x0, x1, ty_Bool)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs24(x0, x1, app(ty_[], x2))
new_lt23(x0, x1, app(app(ty_Either, x2), x3))
new_lt25(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, app(ty_[], x2))
new_primCmpNat0(Zero, Succ(x0))
new_esEs14(x0, x1, ty_Float)
new_esEs36(x0, x1, ty_Integer)
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_lt21(x0, x1, app(ty_[], x2))
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, ty_@0)
new_compare111(x0, x1, x2, x3, True, x4, x5)
new_ltEs6(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt20(x0, x1, ty_Char)
new_lt23(x0, x1, ty_Integer)
new_primPlusNat1(Zero, Succ(x0))
new_lt9(x0, x1)
new_ltEs19(x0, x1, ty_Int)
new_primEqNat0(Zero, Zero)
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, ty_Double)
new_lt5(x0, x1, ty_Char)
new_compare15(x0, x1, True, x2)
new_esEs20(Left(x0), Left(x1), ty_Char, x2)
new_esEs21(Just(x0), Just(x1), ty_Float)
new_esEs11(x0, x1, ty_Bool)
new_esEs10(x0, x1, ty_Double)
new_esEs21(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs6(Just(x0), Just(x1), app(ty_[], x2))
new_esEs20(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs14(x0, x1, ty_Double)
new_ltEs10(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primMulNat0(Zero, Zero)
new_esEs7(x0, x1, ty_Integer)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_esEs12(LT)
new_esEs31(x0, x1, ty_Double)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_primMulInt(Neg(x0), Neg(x1))
new_ltEs6(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_compare18(LT, LT)
new_esEs10(x0, x1, ty_@0)
new_esEs8(x0, x1, ty_Double)
new_lt23(x0, x1, ty_Bool)
new_ltEs21(x0, x1, ty_Float)
new_lt23(x0, x1, app(ty_Maybe, x2))
new_esEs21(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs22(x0, x1, ty_Double)
new_primPlusNat0(Succ(x0), x1)
new_esEs14(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, ty_Char)
new_esEs33(x0, x1, ty_Int)
new_esEs19(LT, LT)
new_ltEs10(Left(x0), Left(x1), ty_Ordering, x2)
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(x0, x1, ty_Bool)
new_esEs31(x0, x1, ty_Float)
new_esEs18(Char(x0), Char(x1))
new_ltEs10(Left(x0), Left(x1), ty_Char, x2)
new_ltEs24(x0, x1, ty_@0)
new_esEs38(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(Left(x0), Left(x1), ty_Int, x2)
new_esEs29(x0, x1, ty_Int)
new_ltEs10(Left(x0), Left(x1), ty_@0, x2)
new_esEs38(x0, x1, ty_Float)
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs23(x0, x1, app(ty_[], x2))
new_esEs37(x0, x1, app(ty_[], x2))
new_compare31(x0, x1, ty_Double)
new_compare25(x0, x1, False, x2, x3)
new_primMulNat0(Succ(x0), Zero)
new_esEs20(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_@0)
new_lt16(x0, x1)
new_ltEs24(x0, x1, app(app(ty_Either, x2), x3))
new_gt14(x0, x1, ty_Double)
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs26(Integer(x0), Integer(x1))
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_compare18(GT, GT)
new_esEs4(x0, x1, ty_Bool)
new_esEs37(x0, x1, ty_@0)
new_compare17(Integer(x0), Integer(x1))
new_esEs6(x0, x1, ty_Float)
new_ltEs16(EQ, EQ)
new_esEs40(x0, x1, ty_Int)
new_lt22(x0, x1, ty_Bool)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(x0, x1, ty_@0)
new_ltEs10(Right(x0), Right(x1), x2, ty_Double)
new_lt22(x0, x1, ty_Char)
new_ltEs5(x0, x1, ty_Char)
new_esEs29(x0, x1, ty_Integer)
new_gt14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs22(x0, x1, ty_Integer)
new_lt22(x0, x1, ty_Integer)
new_lt23(x0, x1, app(ty_Ratio, x2))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_ltEs16(LT, LT)
new_esEs38(x0, x1, app(app(ty_@2, x2), x3))
new_esEs35(x0, x1, ty_Bool)
new_ltEs10(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_lt6(x0, x1, ty_Int)
new_lt23(x0, x1, ty_Char)
new_esEs4(x0, x1, ty_Double)
new_esEs22([], [], x0)
new_ltEs6(Just(x0), Just(x1), ty_@0)
new_esEs36(x0, x1, ty_Ordering)
new_compare26(x0, x1, True, x2, x3)
new_esEs11(x0, x1, ty_Double)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs33(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare210(x0, x1, x2, x3, False, x4, x5)
new_esEs34(x0, x1, ty_Float)
new_esEs7(x0, x1, ty_Double)
new_esEs32(x0, x1, ty_@0)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(x0, x1, ty_Char)
new_lt23(x0, x1, app(ty_[], x2))
new_esEs17(:%(x0, x1), :%(x2, x3), x4)
new_ltEs10(Left(x0), Right(x1), x2, x3)
new_ltEs10(Right(x0), Left(x1), x2, x3)
new_esEs20(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs21(Just(x0), Just(x1), ty_Double)
new_gt11(x0, x1)
new_ltEs10(Right(x0), Right(x1), x2, ty_Integer)
new_esEs5(x0, x1, ty_Int)
new_compare8(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt5(x0, x1, ty_Int)
new_esEs23(True, True)
new_ltEs5(x0, x1, ty_@0)
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_lt22(x0, x1, app(ty_[], x2))
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(Left(x0), Left(x1), ty_Ordering, x2)
new_lt18(x0, x1, x2)
new_primMulNat0(Zero, Succ(x0))
new_esEs36(x0, x1, ty_Bool)
new_lt6(x0, x1, ty_Double)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_ltEs6(Just(x0), Just(x1), ty_Bool)
new_esEs31(x0, x1, app(ty_[], x2))
new_gt14(x0, x1, ty_Char)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs38(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs9(x0, x1, ty_Ordering)
new_primEqNat0(Zero, Succ(x0))
new_compare5(False, True)
new_compare5(True, False)
new_esEs8(x0, x1, ty_Float)
new_ltEs9(x0, x1, x2)
new_esEs14(x0, x1, ty_Integer)
new_esEs37(x0, x1, app(app(ty_Either, x2), x3))
new_esEs37(x0, x1, ty_Bool)
new_ltEs8(x0, x1)
new_ltEs20(x0, x1, ty_@0)
new_ltEs22(x0, x1, ty_Float)
new_esEs11(x0, x1, ty_@0)
new_lt19(x0, x1, x2, x3)
new_lt25(x0, x1, ty_Double)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs4(x0, x1, app(ty_[], x2))
new_esEs39(x0, x1, ty_Integer)
new_compare28(x0, x1, False, x2)
new_esEs40(x0, x1, ty_Integer)
new_esEs7(x0, x1, app(ty_[], x2))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs10(x0, x1, ty_Float)
new_esEs5(x0, x1, app(ty_Maybe, x2))
new_ltEs6(Just(x0), Just(x1), ty_Float)
new_ltEs16(GT, GT)
new_lt6(x0, x1, app(ty_Ratio, x2))
new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(Left(x0), Left(x1), ty_Float, x2)
new_esEs32(x0, x1, ty_Integer)
new_lt13(x0, x1)
new_compare31(x0, x1, ty_Char)
new_compare15(x0, x1, False, x2)
new_ltEs6(Just(x0), Nothing, x1)
new_lt4(x0, x1)
new_esEs35(x0, x1, ty_@0)
new_esEs24(Float(x0, x1), Float(x2, x3))
new_gt14(x0, x1, app(ty_Ratio, x2))
new_ltEs24(x0, x1, ty_Integer)
new_esEs21(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt20(x0, x1, ty_Int)
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_lt22(x0, x1, ty_Int)
new_esEs35(x0, x1, app(ty_[], x2))
new_ltEs22(x0, x1, ty_Char)
new_ltEs6(Just(x0), Just(x1), ty_Ordering)
new_esEs36(x0, x1, ty_Int)
new_compare9(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs31(x0, x1, ty_Integer)
new_gt14(x0, x1, app(app(ty_Either, x2), x3))
new_esEs37(x0, x1, app(ty_Maybe, x2))
new_ltEs11(x0, x1)
new_gt7(x0, x1)
new_esEs21(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_compare7(Left(x0), Left(x1), x2, x3)
new_esEs20(Right(x0), Right(x1), x2, ty_Float)
new_compare0([], [], x0)
new_lt23(x0, x1, ty_Ordering)
new_esEs33(x0, x1, ty_Char)
new_gt5(x0, x1, x2)
new_compare10(x0, x1, False, x2, x3)
new_esEs23(False, True)
new_esEs23(True, False)
new_ltEs21(x0, x1, ty_@0)
new_esEs34(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs37(x0, x1, ty_Double)
new_esEs33(x0, x1, app(ty_[], x2))
new_esEs5(x0, x1, ty_Integer)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt25(x0, x1, ty_Int)
new_compare7(Right(x0), Left(x1), x2, x3)
new_compare7(Left(x0), Right(x1), x2, x3)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(GT, GT)
new_lt20(x0, x1, ty_Double)
new_primPlusNat0(Zero, x0)
new_gt14(x0, x1, ty_Ordering)
new_lt21(x0, x1, ty_Int)
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs11(x0, x1, ty_Char)
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, ty_Bool)
new_esEs7(x0, x1, ty_@0)
new_lt21(x0, x1, ty_Char)
new_esEs15(x0, x1, ty_Double)
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(Right(x0), Right(x1), x2, ty_@0)
new_esEs8(x0, x1, ty_@0)
new_esEs35(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs34(x0, x1, app(ty_Maybe, x2))
new_lt14(x0, x1)
new_esEs30(x0, x1, ty_Double)
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_compare6(Just(x0), Nothing, x1)
new_esEs5(x0, x1, ty_Ordering)
new_esEs33(x0, x1, ty_Ordering)
new_esEs7(x0, x1, ty_Int)
new_esEs36(x0, x1, app(ty_Ratio, x2))
new_esEs19(LT, EQ)
new_esEs19(EQ, LT)
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_not(True)
new_esEs35(x0, x1, ty_Double)
new_esEs20(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs15(x0, x1, ty_@0)
new_esEs6(x0, x1, ty_Integer)
new_ltEs16(GT, EQ)
new_ltEs16(EQ, GT)
new_compare11(x0, x1, x2, x3, x4, x5, False, x6, x7, x8, x9)
new_esEs6(x0, x1, ty_Ordering)
new_esEs27(@0, @0)
new_lt5(x0, x1, app(ty_Ratio, x2))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_not(False)
new_ltEs16(EQ, LT)
new_ltEs16(LT, EQ)
new_ltEs24(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_esEs29(x0, x1, ty_@0)
new_esEs20(Right(x0), Right(x1), x2, ty_Bool)
new_esEs12(EQ)
new_esEs31(x0, x1, ty_@0)
new_compare12(x0, x1, True, x2, x3)
new_lt20(x0, x1, ty_@0)
new_esEs5(x0, x1, app(app(ty_@2, x2), x3))
new_gt14(x0, x1, ty_@0)
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_primCmpNat0(Succ(x0), Zero)
new_asAs(False, x0)
new_ltEs23(x0, x1, app(app(ty_@2, x2), x3))
new_gt14(x0, x1, ty_Int)
new_esEs14(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Double)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_esEs37(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqNat0(Succ(x0), Succ(x1))
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_gt14(x0, x1, app(ty_Maybe, x2))
new_compare0(:(x0, x1), [], x2)
new_esEs11(x0, x1, ty_Int)
new_compare31(x0, x1, ty_Ordering)
new_ltEs10(Right(x0), Right(x1), x2, ty_Bool)
new_esEs35(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt25(x0, x1, ty_Integer)
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, ty_@0)
new_esEs15(x0, x1, ty_Char)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Left(x0), Left(x1), ty_Int, x2)
new_esEs12(GT)
new_primCompAux0(x0, LT)
new_primEqInt(Pos(Zero), Pos(Zero))
new_lt5(x0, x1, ty_Double)
new_esEs20(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, ty_Bool)
new_lt22(x0, x1, ty_Float)
new_esEs29(x0, x1, app(ty_[], x2))
new_esEs33(x0, x1, ty_Bool)
new_ltEs22(x0, x1, app(app(ty_@2, x2), x3))
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(x0, x1)
new_lt10(x0, x1, x2)
new_compare111(x0, x1, x2, x3, False, x4, x5)
new_primPlusNat1(Succ(x0), Succ(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_lt6(x0, x1, ty_Integer)
new_esEs34(x0, x1, ty_@0)
new_esEs33(x0, x1, app(ty_Maybe, x2))
new_ltEs17(x0, x1, x2)
new_ltEs18(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs29(x0, x1, ty_Bool)
new_esEs20(Left(x0), Left(x1), ty_Integer, x2)
new_lt11(x0, x1, x2, x3)
new_esEs36(x0, x1, app(ty_[], x2))
new_esEs37(x0, x1, app(ty_Ratio, x2))
new_esEs39(x0, x1, ty_Int)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs19(x0, x1, ty_Double)
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt21(x0, x1, ty_Float)
new_lt20(x0, x1, ty_Integer)
new_esEs37(x0, x1, ty_Int)
new_lt5(x0, x1, ty_Ordering)
new_esEs38(x0, x1, ty_Char)
new_ltEs5(x0, x1, ty_Bool)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_compare210(x0, x1, x2, x3, True, x4, x5)
new_gt8(x0, x1)
new_compare27(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_compare31(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, ty_Integer)
new_ltEs24(x0, x1, ty_Bool)
new_esEs11(x0, x1, app(ty_[], x2))
new_esEs33(x0, x1, ty_Double)
new_compare10(x0, x1, True, x2, x3)
new_gt1(x0, x1, x2, x3)
new_compare16(Float(x0, x1), Float(x2, x3))
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_ltEs24(x0, x1, ty_Double)
new_esEs4(x0, x1, app(ty_Maybe, x2))
new_lt22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt25(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_esEs20(Left(x0), Left(x1), ty_Double, x2)
new_esEs31(x0, x1, ty_Char)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_compare112(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_ltEs20(x0, x1, ty_Ordering)
new_esEs37(x0, x1, ty_Float)
new_compare6(Nothing, Nothing, x0)
new_esEs34(x0, x1, ty_Int)
new_ltEs15(False, False)
new_ltEs23(x0, x1, app(ty_Maybe, x2))
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_lt23(x0, x1, ty_Float)
new_ltEs21(x0, x1, ty_Bool)
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs8(x0, x1, app(ty_[], x2))
new_esEs38(x0, x1, ty_Int)
new_esEs38(x0, x1, ty_Ordering)
new_esEs31(x0, x1, ty_Ordering)
new_esEs38(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs23(x0, x1, ty_Bool)
new_ltEs22(x0, x1, ty_Int)
new_sr(x0, x1)
new_compare28(x0, x1, True, x2)
new_esEs34(x0, x1, app(app(ty_Either, x2), x3))
new_lt25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_ltEs22(x0, x1, ty_@0)
new_esEs15(x0, x1, ty_Bool)
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs35(x0, x1, ty_Ordering)
new_compare26(x0, x1, False, x2, x3)
new_lt15(x0, x1)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs5(x0, x1, ty_Int)
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_esEs13(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs10(x0, x1, ty_Char)
new_esEs6(x0, x1, ty_Char)
new_lt22(x0, x1, ty_@0)
new_compare27(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_esEs23(False, False)
new_gt0(x0, x1)
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_esEs36(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Integer)
new_lt25(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs35(x0, x1, app(app(ty_Either, x2), x3))
new_lt6(x0, x1, ty_@0)
new_esEs38(x0, x1, ty_Integer)
new_lt6(x0, x1, ty_Float)
new_esEs5(x0, x1, ty_Double)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs16(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs38(x0, x1, app(ty_Ratio, x2))
new_fsEs(x0)
new_ltEs5(x0, x1, ty_Ordering)
new_lt6(x0, x1, ty_Bool)
new_lt21(x0, x1, ty_Bool)
new_esEs32(x0, x1, app(ty_[], x2))
new_esEs34(x0, x1, ty_Ordering)
new_esEs32(x0, x1, ty_Bool)
new_ltEs10(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs6(x0, x1, ty_Int)
new_ltEs10(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs5(x0, x1, app(ty_[], x2))
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Left(x0), Left(x1), ty_Double, x2)
new_ltEs22(x0, x1, app(ty_Maybe, x2))
new_ltEs22(x0, x1, app(ty_Ratio, x2))
new_asAs(True, x0)
new_compare29(Char(x0), Char(x1))
new_gt14(x0, x1, ty_Integer)
new_esEs4(x0, x1, ty_Float)
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_lt23(x0, x1, ty_Double)
new_lt21(x0, x1, ty_Double)
new_esEs7(x0, x1, ty_Ordering)
new_compare18(LT, EQ)
new_compare18(EQ, LT)
new_primCompAux1(x0, x1, x2, x3)
new_esEs33(x0, x1, ty_@0)
new_esEs8(x0, x1, ty_Bool)
new_esEs6(x0, x1, ty_Bool)
new_ltEs6(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs21(Nothing, Just(x0), x1)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(Just(x0), Just(x1), ty_Integer)
new_esEs33(x0, x1, ty_Integer)
new_esEs19(EQ, GT)
new_esEs19(GT, EQ)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs34(x0, x1, ty_Char)
new_ltEs5(x0, x1, ty_Float)
new_ltEs21(x0, x1, app(ty_[], x2))
new_ltEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare19(Double(x0, x1), Double(x2, x3))
new_esEs37(x0, x1, ty_Ordering)
new_compare31(x0, x1, app(ty_Maybe, x2))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs36(x0, x1, ty_Char)
new_esEs8(x0, x1, ty_Ordering)
new_ltEs23(x0, x1, app(ty_Ratio, x2))
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs41(GT)
new_esEs14(x0, x1, ty_@0)
new_ltEs6(Just(x0), Just(x1), ty_Integer)
new_ltEs22(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, ty_Ordering)
new_lt6(x0, x1, ty_Char)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_compare18(GT, LT)
new_compare18(LT, GT)
new_esEs15(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_compare5(True, True)
new_esEs34(x0, x1, app(ty_Ratio, x2))
new_esEs6(x0, x1, app(ty_[], x2))
new_lt21(x0, x1, ty_Ordering)
new_esEs15(x0, x1, app(ty_Maybe, x2))
new_ltEs23(x0, x1, ty_Double)
new_lt21(x0, x1, app(ty_Ratio, x2))
new_esEs32(x0, x1, ty_Char)
new_primPlusNat1(Zero, Zero)
new_ltEs10(Right(x0), Right(x1), x2, ty_Char)
new_esEs38(x0, x1, ty_Double)
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_esEs20(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs19(x0, x1, ty_Float)
new_esEs15(x0, x1, app(ty_[], x2))
new_primEqNat0(Succ(x0), Zero)
new_compare31(x0, x1, ty_Float)
new_ltEs23(x0, x1, ty_Int)
new_esEs4(x0, x1, ty_@0)
new_esEs30(x0, x1, ty_Integer)
new_esEs32(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primPlusNat1(Succ(x0), Zero)
new_esEs33(x0, x1, app(app(ty_@2, x2), x3))
new_gt13(x0, x1, x2)
new_esEs10(x0, x1, ty_Int)
new_esEs14(x0, x1, app(ty_[], x2))
new_ltEs24(x0, x1, app(ty_Maybe, x2))
new_esEs21(Just(x0), Nothing, x1)
new_ltEs19(x0, x1, ty_Ordering)
new_esEs41(EQ)
new_compare7(Right(x0), Right(x1), x2, x3)
new_lt20(x0, x1, ty_Ordering)
new_lt23(x0, x1, ty_Int)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_esEs35(x0, x1, app(app(ty_@2, x2), x3))
new_esEs36(x0, x1, ty_@0)
new_esEs36(x0, x1, app(app(ty_@2, x2), x3))
new_gt10(x0, x1, x2)
new_esEs10(x0, x1, ty_Ordering)
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_esEs10(x0, x1, app(ty_[], x2))
new_ltEs16(LT, GT)
new_ltEs16(GT, LT)
new_esEs8(x0, x1, ty_Char)
new_esEs4(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, ty_Char)
new_lt21(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs15(True, False)
new_esEs35(x0, x1, ty_Int)
new_ltEs15(False, True)
new_lt5(x0, x1, ty_Integer)
new_compare12(x0, x1, False, x2, x3)
new_lt25(x0, x1, ty_Char)
new_esEs9(x0, x1, app(ty_[], x2))
new_ltEs10(Left(x0), Left(x1), ty_Float, x2)
new_esEs20(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_lt25(x0, x1, ty_@0)
new_lt20(x0, x1, app(ty_[], x2))
new_primCompAux0(x0, EQ)
new_esEs15(x0, x1, app(app(ty_Either, x2), x3))
new_compare13(@0, @0)
new_esEs9(x0, x1, ty_Float)
new_ltEs23(x0, x1, ty_Float)
new_esEs5(x0, x1, ty_Float)
new_esEs34(x0, x1, ty_Double)
new_ltEs22(x0, x1, ty_Bool)
new_lt12(x0, x1)
new_compare30(@2(x0, x1), @2(x2, x3), x4, x5)
new_ltEs19(x0, x1, ty_Bool)
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, ty_Bool)
new_esEs14(x0, x1, ty_Int)
new_esEs33(x0, x1, ty_Float)
new_ltEs6(Nothing, Just(x0), x1)
new_ltEs10(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs31(x0, x1, ty_Int)
new_lt23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt8(x0, x1)
new_esEs4(x0, x1, ty_Integer)
new_esEs20(Right(x0), Right(x1), x2, ty_Double)
new_esEs7(x0, x1, ty_Float)
new_ltEs5(x0, x1, ty_Integer)
new_esEs36(x0, x1, ty_Float)
new_ltEs22(x0, x1, ty_Ordering)
new_ltEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, ty_Char)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, ty_Char)
new_lt5(x0, x1, ty_Float)
new_lt25(x0, x1, ty_Float)
new_esEs20(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs29(x0, x1, ty_Float)
new_esEs37(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs36(x0, x1, app(app(ty_Either, x2), x3))
new_pePe(False, x0)
new_ltEs13(x0, x1)
new_lt22(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(ty_[], x2))
new_compare9(:%(x0, x1), :%(x2, x3), ty_Integer)
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Float)
new_esEs21(Just(x0), Just(x1), ty_Ordering)
new_esEs20(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs9(x0, x1, ty_Double)
new_esEs5(x0, x1, app(ty_[], x2))
new_primCmpNat0(Zero, Zero)
new_esEs33(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, ty_Integer)
new_ltEs24(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Right(x0), Right(x1), x2, app(ty_[], x3))
new_compare31(x0, x1, ty_Int)
new_primCompAux0(x0, GT)
new_compare112(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_ltEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare6(Nothing, Just(x0), x1)
new_esEs32(x0, x1, ty_Double)
new_esEs7(x0, x1, ty_Bool)
new_esEs11(x0, x1, ty_Float)
new_esEs34(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(Nothing, Nothing, x0)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(x0, x1, app(ty_Ratio, x2))
new_lt23(x0, x1, ty_@0)
new_esEs14(x0, x1, ty_Ordering)
new_gt2(x0, x1)
new_ltEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_pePe(True, x0)
new_sr0(Integer(x0), Integer(x1))
new_esEs22(:(x0, x1), [], x2)
new_ltEs7(x0, x1)
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs5(x0, x1, ty_Char)
new_esEs30(x0, x1, ty_Float)
new_esEs37(x0, x1, ty_Integer)
new_esEs19(EQ, EQ)
new_esEs41(LT)
new_esEs34(x0, x1, app(ty_[], x2))
new_compare18(EQ, GT)
new_compare18(GT, EQ)
new_lt25(x0, x1, app(ty_Ratio, x2))
new_esEs14(x0, x1, app(app(ty_@2, x2), x3))
new_lt5(x0, x1, ty_@0)
new_ltEs21(x0, x1, ty_Integer)
new_gt4(x0, x1)
new_lt25(x0, x1, app(ty_[], x2))
new_compare5(False, False)
new_esEs15(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(LT, GT)
new_esEs19(GT, LT)
new_ltEs23(x0, x1, ty_Ordering)
new_ltEs10(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs5(x0, x1, ty_Double)
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_gt9(x0, x1)
new_lt17(x0, x1, x2, x3, x4)
new_lt6(x0, x1, ty_Ordering)
new_esEs21(Just(x0), Just(x1), ty_Char)
new_lt5(x0, x1, ty_Bool)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_compare31(x0, x1, app(ty_[], x2))
new_esEs15(x0, x1, app(ty_Ratio, x2))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs34(x0, x1, ty_Bool)
new_ltEs6(Just(x0), Just(x1), ty_Char)
new_ltEs19(x0, x1, ty_@0)
new_esEs20(Right(x0), Right(x1), x2, ty_Int)
new_ltEs23(x0, x1, app(app(ty_Either, x2), x3))
new_lt7(x0, x1, x2)
new_lt21(x0, x1, ty_@0)
new_ltEs23(x0, x1, ty_Integer)
new_esEs20(Left(x0), Left(x1), ty_Bool, x2)
new_gt14(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(Nothing, Nothing, x0)
new_compare110(x0, x1, x2, x3, False, x4, x5, x6)
new_esEs20(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs21(Just(x0), Just(x1), ty_Int)
new_ltEs24(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Char)
new_esEs15(x0, x1, ty_Float)
new_compare110(x0, x1, x2, x3, True, x4, x5, x6)
new_esEs29(x0, x1, ty_Ordering)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_gt6(x0, x1, x2, x3)
new_esEs30(x0, x1, ty_Ordering)
new_lt6(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(x0, x1, ty_Double)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs28(x0, x1)
new_lt22(x0, x1, app(ty_Maybe, x2))
new_esEs38(x0, x1, app(ty_[], x2))
new_esEs14(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs10(Right(x0), Right(x1), x2, ty_Int)
new_esEs25(Double(x0, x1), Double(x2, x3))
new_ltEs21(x0, x1, ty_Double)
new_esEs20(Right(x0), Right(x1), x2, ty_Char)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_esEs15(x0, x1, ty_Int)
new_gt14(x0, x1, ty_Bool)
new_esEs38(x0, x1, ty_@0)
new_esEs36(x0, x1, ty_Double)
new_compare14(x0, x1)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, ty_Bool)
new_esEs35(x0, x1, ty_Char)
new_ltEs20(x0, x1, ty_Int)
new_ltEs10(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs24(x0, x1, ty_Int)
new_compare18(EQ, EQ)
new_esEs35(x0, x1, ty_Integer)
new_gt14(x0, x1, app(ty_[], x2))
new_esEs31(x0, x1, ty_Bool)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(Just(x0), Just(x1), ty_Bool)
new_esEs21(Just(x0), Just(x1), app(ty_Ratio, x2))
new_ltEs10(Left(x0), Left(x1), ty_Integer, x2)
new_lt5(x0, x1, app(ty_[], x2))
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(x0, x1, ty_Integer)
new_ltEs6(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs10(Right(x0), Right(x1), x2, ty_Float)
new_primCmpNat0(Succ(x0), Succ(x1))
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, app(ty_Ratio, x2))
new_primMulInt(Pos(x0), Pos(x1))
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_ltEs24(x0, x1, ty_Float)
new_lt22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, ty_@0)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_lt9(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_lt9(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)

The TRS R consists of the following rules:

new_primMulNat0(Zero, Zero) → Zero
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_lt9(zzz798, zzz804) → new_esEs12(new_compare14(zzz798, zzz804))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_esEs12(GT) → False
new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)
new_primPlusNat1(Zero, Zero) → Zero
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_compare14(zzz798, zzz804) → new_primCmpInt(zzz798, zzz804)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_lt9(x0, x1)
new_compare14(x0, x1)
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_lt9(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), h, ba) at position [12] we obtained the following new rules:

new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
QDP
                                        ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_lt9(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)

The TRS R consists of the following rules:

new_primMulNat0(Zero, Zero) → Zero
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_lt9(zzz798, zzz804) → new_esEs12(new_compare14(zzz798, zzz804))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_esEs12(GT) → False
new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)
new_primPlusNat1(Zero, Zero) → Zero
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_compare14(zzz798, zzz804) → new_primCmpInt(zzz798, zzz804)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_lt9(x0, x1)
new_compare14(x0, x1)
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_lt9(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), h, ba) at position [12] we obtained the following new rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
QDP
                                            ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)

The TRS R consists of the following rules:

new_primMulNat0(Zero, Zero) → Zero
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_lt9(zzz798, zzz804) → new_esEs12(new_compare14(zzz798, zzz804))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_esEs12(GT) → False
new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)
new_primPlusNat1(Zero, Zero) → Zero
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_compare14(zzz798, zzz804) → new_primCmpInt(zzz798, zzz804)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_lt9(x0, x1)
new_compare14(x0, x1)
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
QDP
                                                ↳ QReductionProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)
new_compare14(zzz798, zzz804) → new_primCmpInt(zzz798, zzz804)
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_lt9(x0, x1)
new_compare14(x0, x1)
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_lt9(x0, x1)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
QDP
                                                    ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)
new_compare14(zzz798, zzz804) → new_primCmpInt(zzz798, zzz804)
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_compare14(x0, x1)
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba) at position [12,0] we obtained the following new rules:

new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
QDP
                                                        ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)
new_compare14(zzz798, zzz804) → new_primCmpInt(zzz798, zzz804)
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_compare14(x0, x1)
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_compare14(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba) at position [12,0] we obtained the following new rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
QDP
                                                            ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)
new_compare14(zzz798, zzz804) → new_primCmpInt(zzz798, zzz804)
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_compare14(x0, x1)
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
QDP
                                                                ↳ QReductionProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_compare14(x0, x1)
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_compare14(x0, x1)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
QDP
                                                                    ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba) at position [12,0,0] we obtained the following new rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
QDP
                                                                        ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba) at position [12,0,0] we obtained the following new rules:

new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
QDP
                                                                            ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
QDP
                                                                                ↳ QReductionProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_sr(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_sr(x0, x1)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
QDP
                                                                                    ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba) at position [12,0,0,0] we obtained the following new rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
QDP
                                                                                        ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(new_sIZE_RATIO, new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba) at position [12,0,0,0] we obtained the following new rules:

new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
QDP
                                                                                            ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
QDP
                                                                                                ↳ QReductionProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)

The TRS R consists of the following rules:

new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)
new_sIZE_RATIO

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_sIZE_RATIO



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
QDP
                                                                                                    ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)

The TRS R consists of the following rules:

new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba) at position [12,0,0,1] we obtained the following new rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
QDP
                                                                                                        ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)

The TRS R consists of the following rules:

new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba) at position [12,0,0,1] we obtained the following new rules:

new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
QDP
                                                                                                            ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)

The TRS R consists of the following rules:

new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba) at position [12,0,0,1] we obtained the following new rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz10892), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
QDP
                                                                                                                ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz10892), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)

The TRS R consists of the following rules:

new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba) at position [12,0,0,1] we obtained the following new rules:

new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz11472), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
QDP
                                                                                                                    ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz11472), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz10892), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)

The TRS R consists of the following rules:

new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz10892), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba) at position [12,0,1] we obtained the following new rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz10892), new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
QDP
                                                                                                                        ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz11472), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz10892), new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)

The TRS R consists of the following rules:

new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
QDP
                                                                                                                            ↳ QReductionProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz11472), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz10892), new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)

The TRS R consists of the following rules:

new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
                                                                                                                          ↳ QDP
                                                                                                                            ↳ QReductionProof
QDP
                                                                                                                                ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz11472), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz10892), new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)

The TRS R consists of the following rules:

new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz11472), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba) at position [12,0,1] we obtained the following new rules:

new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz11472), new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba))), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
                                                                                                                          ↳ QDP
                                                                                                                            ↳ QReductionProof
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Rewriting
QDP
                                                                                                                                    ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz10892), new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz11472), new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba))), h, ba)

The TRS R consists of the following rules:

new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
                                                                                                                          ↳ QDP
                                                                                                                            ↳ QReductionProof
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Rewriting
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ UsableRulesProof
QDP
                                                                                                                                        ↳ QReductionProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz10892), new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz11472), new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba))), h, ba)

The TRS R consists of the following rules:

new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
                                                                                                                          ↳ QDP
                                                                                                                            ↳ QReductionProof
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Rewriting
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ QReductionProof
QDP
                                                                                                                                            ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz10892), new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz11472), new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba))), h, ba)

The TRS R consists of the following rules:

new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz10892), new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, h, ba))), h, ba) at position [12,0,1] we obtained the following new rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz10892), zzz11472)), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
                                                                                                                          ↳ QDP
                                                                                                                            ↳ QReductionProof
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Rewriting
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ QReductionProof
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Rewriting
QDP
                                                                                                                                                ↳ Rewriting
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz10892), zzz11472)), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz11472), new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba))), h, ba)

The TRS R consists of the following rules:

new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz11472), new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, h, ba))), h, ba) at position [12,0,1] we obtained the following new rules:

new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz11472), zzz10892)), h, ba)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
                                                                                                                          ↳ QDP
                                                                                                                            ↳ QReductionProof
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Rewriting
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ QReductionProof
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Rewriting
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Rewriting
QDP
                                                                                                                                                    ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz10892), zzz11472)), h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz11472), zzz10892)), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)

The TRS R consists of the following rules:

new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, bb, bc) → zzz9362
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
                                                                                                                          ↳ QDP
                                                                                                                            ↳ QReductionProof
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Rewriting
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ QReductionProof
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Rewriting
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Rewriting
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ UsableRulesProof
QDP
                                                                                                                                                        ↳ QReductionProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz10892), zzz11472)), h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz11472), zzz10892)), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)

The TRS R consists of the following rules:

new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_sizeFM(x0, x1, x2, x3, x4, x5, x6)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
                                                                                                                          ↳ QDP
                                                                                                                            ↳ QReductionProof
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Rewriting
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ QReductionProof
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Rewriting
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Rewriting
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ QReductionProof
QDP
                                                                                                                                                            ↳ QDPOrderProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz10892), zzz11472)), h, ba)
new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz11472), zzz10892)), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)

The TRS R consists of the following rules:

new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].


The following pairs can be oriented strictly and are deleted.


new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba) → new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz11472), zzz10892)), h, ba)
The remaining pairs can at least be oriented weakly.

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz10892), zzz11472)), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)
Used ordering: Polynomial interpretation [25]:

POL(Branch(x1, x2, x3, x4, x5)) = 1 + x1 + x2 + x4 + x5   
POL(EQ) = 0   
POL(False) = 0   
POL(GT) = 0   
POL(LT) = 0   
POL(Neg(x1)) = 0   
POL(Pos(x1)) = 0   
POL(Succ(x1)) = 0   
POL(True) = 0   
POL(Zero) = 0   
POL(new_esEs12(x1)) = 0   
POL(new_mkVBalBranch(x1, x2, x3, x4, x5, x6)) = x3 + x4   
POL(new_mkVBalBranch3MkVBalBranch1(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15)) = 1 + x1 + x10 + x2 + x4 + x5 + x6 + x7 + x9   
POL(new_mkVBalBranch3MkVBalBranch2(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15)) = 1 + x1 + x10 + x2 + x4 + x5 + x6 + x7 + x9   
POL(new_primCmpInt(x1, x2)) = 0   
POL(new_primCmpNat0(x1, x2)) = 0   
POL(new_primMulInt(x1, x2)) = 0   
POL(new_primMulNat0(x1, x2)) = 0   
POL(new_primPlusNat0(x1, x2)) = 0   
POL(new_primPlusNat1(x1, x2)) = 0   

The following usable rules [17] were oriented: none



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ Rewriting
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ UsableRulesProof
                                              ↳ QDP
                                                ↳ QReductionProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Rewriting
                                                          ↳ QDP
                                                            ↳ UsableRulesProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
                                                                  ↳ QDP
                                                                    ↳ Rewriting
                                                                      ↳ QDP
                                                                        ↳ Rewriting
                                                                          ↳ QDP
                                                                            ↳ UsableRulesProof
                                                                              ↳ QDP
                                                                                ↳ QReductionProof
                                                                                  ↳ QDP
                                                                                    ↳ Rewriting
                                                                                      ↳ QDP
                                                                                        ↳ Rewriting
                                                                                          ↳ QDP
                                                                                            ↳ UsableRulesProof
                                                                                              ↳ QDP
                                                                                                ↳ QReductionProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Rewriting
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Rewriting
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Rewriting
                                                                                                                      ↳ QDP
                                                                                                                        ↳ UsableRulesProof
                                                                                                                          ↳ QDP
                                                                                                                            ↳ QReductionProof
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Rewriting
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ QReductionProof
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Rewriting
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Rewriting
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ QDPOrderProof
QDP
                                                                                                                                                                ↳ DependencyGraphProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, h, ba)
new_mkVBalBranch3MkVBalBranch2(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, h, ba) → new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_esEs12(new_primCmpInt(new_primMulInt(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz10892), zzz11472)), h, ba)
new_mkVBalBranch3MkVBalBranch1(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, h, ba) → new_mkVBalBranch(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), h, ba)

The TRS R consists of the following rules:

new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_esEs12(GT) → False
new_esEs12(LT) → True
new_esEs12(EQ) → False
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_primPlusNat1(Zero, Zero) → Zero
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)

The set Q consists of the following terms:

new_primCmpNat0(Succ(x0), Zero)
new_primMulNat0(Zero, Succ(x0))
new_primMulNat0(Succ(x0), Zero)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpNat0(Zero, Zero)
new_primMulNat0(Succ(x0), Succ(x1))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_primPlusNat1(Succ(x0), Zero)
new_primMulNat0(Zero, Zero)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs12(LT)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_primMulInt(Neg(x0), Neg(x1))
new_primPlusNat1(Zero, Succ(x0))
new_esEs12(EQ)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat1(Zero, Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primMulInt(Pos(x0), Pos(x1))
new_primPlusNat0(Zero, x0)
new_esEs12(GT)
new_primPlusNat1(Succ(x0), Succ(x1))
new_primPlusNat0(Succ(x0), x1)

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 0 SCCs with 3 less nodes.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitLT1(zzz1100, zzz1101, zzz1102, zzz1103, zzz1104, zzz1105, True, bd, be) → new_splitLT(zzz1104, zzz1105, bd, be)
new_splitLT2(zzz1058, zzz1059, zzz1060, Branch(zzz10610, zzz10611, zzz10612, zzz10613, zzz10614), zzz1062, zzz1063, True, h, ba) → new_splitLT3(zzz10610, zzz10611, zzz10612, zzz10613, zzz10614, zzz1063, h, ba)
new_splitLT3(zzz862, zzz863, zzz864, zzz865, zzz866, zzz867, bb, bc) → new_splitLT2(zzz862, zzz863, zzz864, zzz865, zzz866, zzz867, new_lt26(zzz867, zzz862, bb), bb, bc)
new_splitLT(Branch(zzz10610, zzz10611, zzz10612, zzz10613, zzz10614), zzz1063, h, ba) → new_splitLT3(zzz10610, zzz10611, zzz10612, zzz10613, zzz10614, zzz1063, h, ba)
new_splitLT2(zzz1058, zzz1059, zzz1060, zzz1061, zzz1062, zzz1063, False, h, ba) → new_splitLT1(zzz1058, zzz1059, zzz1060, zzz1061, zzz1062, zzz1063, new_gt15(zzz1063, zzz1058, h), h, ba)

The TRS R consists of the following rules:

new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Ordering, bae) → new_ltEs16(zzz8880, zzz8890)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Double) → new_ltEs7(zzz8880, zzz8890)
new_ltEs19(zzz950, zzz953, ty_Ordering) → new_ltEs16(zzz950, zzz953)
new_esEs18(Char(zzz79800), Char(zzz80400)) → new_primEqNat0(zzz79800, zzz80400)
new_gt15(zzz1063, zzz1058, ty_Float) → new_gt8(zzz1063, zzz1058)
new_esEs30(zzz8880, zzz8890, ty_Double) → new_esEs25(zzz8880, zzz8890)
new_ltEs24(zzz8881, zzz8891, app(app(app(ty_@3, gaf), gag), gah)) → new_ltEs4(zzz8881, zzz8891, gaf, gag, gah)
new_lt12(zzz798, zzz804) → new_esEs12(new_compare16(zzz798, zzz804))
new_esEs8(zzz7981, zzz8041, ty_Double) → new_esEs25(zzz7981, zzz8041)
new_ltEs21(zzz888, zzz889, app(ty_[], bac)) → new_ltEs9(zzz888, zzz889, bac)
new_esEs5(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_lt14(zzz798, zzz804) → new_esEs12(new_compare13(zzz798, zzz804))
new_lt26(zzz867, zzz862, ty_Ordering) → new_lt16(zzz867, zzz862)
new_compare11(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, True, zzz1033, ccb, ccc, ccd) → new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, True, ccb, ccc, ccd)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_esEs21(Just(zzz79800), Just(zzz80400), app(app(app(ty_@3, bg), bh), ca)) → new_esEs16(zzz79800, zzz80400, bg, bh, ca)
new_esEs32(zzz79801, zzz80401, ty_@0) → new_esEs27(zzz79801, zzz80401)
new_esEs32(zzz79801, zzz80401, app(app(app(ty_@3, dfc), dfd), dfe)) → new_esEs16(zzz79801, zzz80401, dfc, dfd, dfe)
new_esEs37(zzz961, zzz963, app(app(ty_@2, caf), cag)) → new_esEs13(zzz961, zzz963, caf, cag)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_Float) → new_ltEs11(zzz8880, zzz8890)
new_lt21(zzz948, zzz951, app(ty_Maybe, ecf)) → new_lt7(zzz948, zzz951, ecf)
new_ltEs21(zzz888, zzz889, app(ty_Maybe, bab)) → new_ltEs6(zzz888, zzz889, bab)
new_ltEs19(zzz950, zzz953, ty_Float) → new_ltEs11(zzz950, zzz953)
new_ltEs6(Nothing, Just(zzz8890), bab) → True
new_esEs32(zzz79801, zzz80401, ty_Integer) → new_esEs26(zzz79801, zzz80401)
new_esEs9(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_ltEs20(zzz907, zzz908, ty_Double) → new_ltEs7(zzz907, zzz908)
new_esEs36(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_lt11(zzz798, zzz804, ga, gb) → new_esEs12(new_compare7(zzz798, zzz804, ga, gb))
new_esEs29(zzz8881, zzz8891, app(ty_[], cge)) → new_esEs22(zzz8881, zzz8891, cge)
new_esEs32(zzz79801, zzz80401, app(app(ty_Either, dfg), dfh)) → new_esEs20(zzz79801, zzz80401, dfg, dfh)
new_compare16(Float(zzz7980, zzz7981), Float(zzz8040, zzz8041)) → new_compare14(new_sr(zzz7980, zzz8040), new_sr(zzz7981, zzz8041))
new_lt26(zzz867, zzz862, app(app(ty_Either, eec), eed)) → new_lt11(zzz867, zzz862, eec, eed)
new_esEs38(zzz8880, zzz8890, ty_Bool) → new_esEs23(zzz8880, zzz8890)
new_esEs11(zzz7980, zzz8040, app(ty_Ratio, fhc)) → new_esEs17(zzz7980, zzz8040, fhc)
new_esEs10(zzz7981, zzz8041, app(app(app(ty_@3, fff), ffg), ffh)) → new_esEs16(zzz7981, zzz8041, fff, ffg, ffh)
new_esEs4(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_esEs14(zzz79801, zzz80401, app(app(ty_Either, dh), ea)) → new_esEs20(zzz79801, zzz80401, dh, ea)
new_ltEs19(zzz950, zzz953, ty_Integer) → new_ltEs14(zzz950, zzz953)
new_lt26(zzz867, zzz862, ty_Int) → new_lt9(zzz867, zzz862)
new_esEs34(zzz949, zzz952, app(ty_Maybe, ebd)) → new_esEs21(zzz949, zzz952, ebd)
new_esEs4(zzz7980, zzz8040, app(app(ty_Either, bga), bfa)) → new_esEs20(zzz7980, zzz8040, bga, bfa)
new_lt26(zzz867, zzz862, app(ty_Ratio, eeh)) → new_lt18(zzz867, zzz862, eeh)
new_esEs38(zzz8880, zzz8890, app(ty_[], gbe)) → new_esEs22(zzz8880, zzz8890, gbe)
new_lt5(zzz8881, zzz8891, app(app(app(ty_@3, cgh), cha), chb)) → new_lt17(zzz8881, zzz8891, cgh, cha, chb)
new_ltEs20(zzz907, zzz908, app(app(ty_@2, he), hf)) → new_ltEs18(zzz907, zzz908, he, hf)
new_esEs5(zzz7980, zzz8040, app(ty_Ratio, dbc)) → new_esEs17(zzz7980, zzz8040, dbc)
new_esEs14(zzz79801, zzz80401, ty_Double) → new_esEs25(zzz79801, zzz80401)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, app(app(ty_@2, ffc), ffd)) → new_ltEs18(zzz8880, zzz8890, ffc, ffd)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Float, bae) → new_ltEs11(zzz8880, zzz8890)
new_lt5(zzz8881, zzz8891, ty_Integer) → new_lt15(zzz8881, zzz8891)
new_gt15(zzz1063, zzz1058, ty_Char) → new_gt9(zzz1063, zzz1058)
new_esEs4(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_ltEs23(zzz962, zzz964, ty_Float) → new_ltEs11(zzz962, zzz964)
new_esEs15(zzz79800, zzz80400, app(app(app(ty_@3, ef), eg), eh)) → new_esEs16(zzz79800, zzz80400, ef, eg, eh)
new_ltEs20(zzz907, zzz908, app(ty_[], gf)) → new_ltEs9(zzz907, zzz908, gf)
new_lt6(zzz8880, zzz8890, app(app(ty_@2, daf), dag)) → new_lt19(zzz8880, zzz8890, daf, dag)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Float) → new_ltEs11(zzz8880, zzz8890)
new_compare18(GT, EQ) → GT
new_esEs38(zzz8880, zzz8890, app(app(ty_Either, gbf), gbg)) → new_esEs20(zzz8880, zzz8890, gbf, gbg)
new_esEs7(zzz7982, zzz8042, app(ty_[], egb)) → new_esEs22(zzz7982, zzz8042, egb)
new_compare31(zzz7980, zzz8040, ty_Char) → new_compare29(zzz7980, zzz8040)
new_ltEs22(zzz900, zzz901, app(ty_Ratio, bec)) → new_ltEs17(zzz900, zzz901, bec)
new_esEs4(zzz7980, zzz8040, app(app(app(ty_@3, cee), cef), ceg)) → new_esEs16(zzz7980, zzz8040, cee, cef, ceg)
new_compare29(Char(zzz7980), Char(zzz8040)) → new_primCmpNat0(zzz7980, zzz8040)
new_compare110(zzz1009, zzz1010, zzz1011, zzz1012, True, zzz1014, bbf, bbg) → new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, True, bbf, bbg)
new_ltEs23(zzz962, zzz964, app(app(ty_Either, cbb), cbc)) → new_ltEs10(zzz962, zzz964, cbb, cbc)
new_esEs36(zzz79800, zzz80400, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_esEs33(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_lt20(zzz949, zzz952, ty_Float) → new_lt12(zzz949, zzz952)
new_lt9(zzz798, zzz804) → new_esEs12(new_compare14(zzz798, zzz804))
new_ltEs5(zzz8882, zzz8892, ty_Bool) → new_ltEs15(zzz8882, zzz8892)
new_compare30(@2(zzz7980, zzz7981), @2(zzz8040, zzz8041), cch, cda) → new_compare210(zzz7980, zzz7981, zzz8040, zzz8041, new_asAs(new_esEs11(zzz7980, zzz8040, cch), new_esEs10(zzz7981, zzz8041, cda)), cch, cda)
new_ltEs24(zzz8881, zzz8891, app(ty_Ratio, gba)) → new_ltEs17(zzz8881, zzz8891, gba)
new_lt23(zzz8880, zzz8890, ty_Bool) → new_lt4(zzz8880, zzz8890)
new_lt20(zzz949, zzz952, ty_Bool) → new_lt4(zzz949, zzz952)
new_pePe(False, zzz1074) → zzz1074
new_esEs19(GT, GT) → True
new_esEs35(zzz948, zzz951, app(app(ty_@2, edf), edg)) → new_esEs13(zzz948, zzz951, edf, edg)
new_ltEs24(zzz8881, zzz8891, ty_Integer) → new_ltEs14(zzz8881, zzz8891)
new_lt23(zzz8880, zzz8890, app(ty_Maybe, gbd)) → new_lt7(zzz8880, zzz8890, gbd)
new_lt21(zzz948, zzz951, app(ty_Ratio, ede)) → new_lt18(zzz948, zzz951, ede)
new_compare5(False, False) → EQ
new_compare31(zzz7980, zzz8040, ty_@0) → new_compare13(zzz7980, zzz8040)
new_esEs34(zzz949, zzz952, app(ty_Ratio, ecc)) → new_esEs17(zzz949, zzz952, ecc)
new_esEs31(zzz79802, zzz80402, app(app(ty_Either, dee), def)) → new_esEs20(zzz79802, zzz80402, dee, def)
new_ltEs22(zzz900, zzz901, ty_Ordering) → new_ltEs16(zzz900, zzz901)
new_esEs8(zzz7981, zzz8041, app(app(app(ty_@3, ege), egf), egg)) → new_esEs16(zzz7981, zzz8041, ege, egf, egg)
new_esEs33(zzz79800, zzz80400, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_lt5(zzz8881, zzz8891, ty_Char) → new_lt13(zzz8881, zzz8891)
new_esEs12(GT) → False
new_esEs9(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_compare31(zzz7980, zzz8040, ty_Int) → new_compare14(zzz7980, zzz8040)
new_ltEs19(zzz950, zzz953, ty_Int) → new_ltEs8(zzz950, zzz953)
new_compare26(zzz907, zzz908, False, gc, gd) → new_compare12(zzz907, zzz908, new_ltEs20(zzz907, zzz908, gd), gc, gd)
new_ltEs24(zzz8881, zzz8891, ty_Int) → new_ltEs8(zzz8881, zzz8891)
new_esEs9(zzz7980, zzz8040, app(app(app(ty_@3, ehg), ehh), faa)) → new_esEs16(zzz7980, zzz8040, ehg, ehh, faa)
new_esEs34(zzz949, zzz952, app(app(app(ty_@3, ebh), eca), ecb)) → new_esEs16(zzz949, zzz952, ebh, eca, ecb)
new_esEs33(zzz79800, zzz80400, app(app(app(ty_@3, dge), dgf), dgg)) → new_esEs16(zzz79800, zzz80400, dge, dgf, dgg)
new_lt22(zzz961, zzz963, ty_Float) → new_lt12(zzz961, zzz963)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_ltEs19(zzz950, zzz953, app(app(ty_Either, ead), eae)) → new_ltEs10(zzz950, zzz953, ead, eae)
new_esEs24(Float(zzz79800, zzz79801), Float(zzz80400, zzz80401)) → new_esEs28(new_sr(zzz79800, zzz80400), new_sr(zzz79801, zzz80401))
new_esEs21(Just(zzz79800), Just(zzz80400), app(ty_Maybe, ce)) → new_esEs21(zzz79800, zzz80400, ce)
new_esEs21(Nothing, Nothing, bf) → True
new_lt26(zzz867, zzz862, ty_@0) → new_lt14(zzz867, zzz862)
new_pePe(True, zzz1074) → True
new_compare0([], [], bbe) → EQ
new_primEqNat0(Zero, Zero) → True
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_Ordering) → new_ltEs16(zzz8880, zzz8890)
new_esEs5(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Char, bfa) → new_esEs18(zzz79800, zzz80400)
new_esEs32(zzz79801, zzz80401, app(ty_[], dgb)) → new_esEs22(zzz79801, zzz80401, dgb)
new_esEs12(EQ) → False
new_ltEs20(zzz907, zzz908, ty_Integer) → new_ltEs14(zzz907, zzz908)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, app(ty_Maybe, bgh)) → new_esEs21(zzz79800, zzz80400, bgh)
new_esEs23(False, False) → True
new_ltEs16(EQ, LT) → False
new_esEs6(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_ltEs23(zzz962, zzz964, ty_Integer) → new_ltEs14(zzz962, zzz964)
new_lt6(zzz8880, zzz8890, ty_Int) → new_lt9(zzz8880, zzz8890)
new_esEs30(zzz8880, zzz8890, app(app(app(ty_@3, dab), dac), dad)) → new_esEs16(zzz8880, zzz8890, dab, dac, dad)
new_esEs31(zzz79802, zzz80402, ty_Int) → new_esEs28(zzz79802, zzz80402)
new_ltEs16(GT, EQ) → False
new_esEs38(zzz8880, zzz8890, ty_Char) → new_esEs18(zzz8880, zzz8890)
new_esEs37(zzz961, zzz963, app(ty_Maybe, bhf)) → new_esEs21(zzz961, zzz963, bhf)
new_esEs36(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_compare12(zzz991, zzz992, False, fba, fbb) → GT
new_esEs7(zzz7982, zzz8042, app(ty_Maybe, ega)) → new_esEs21(zzz7982, zzz8042, ega)
new_esEs30(zzz8880, zzz8890, app(ty_[], chg)) → new_esEs22(zzz8880, zzz8890, chg)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_@0) → new_ltEs13(zzz8880, zzz8890)
new_esEs39(zzz79801, zzz80401, ty_Integer) → new_esEs26(zzz79801, zzz80401)
new_esEs21(Just(zzz79800), Just(zzz80400), app(app(ty_@2, cg), da)) → new_esEs13(zzz79800, zzz80400, cg, da)
new_esEs32(zzz79801, zzz80401, ty_Double) → new_esEs25(zzz79801, zzz80401)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_ltEs19(zzz950, zzz953, ty_Bool) → new_ltEs15(zzz950, zzz953)
new_compare210(zzz961, zzz962, zzz963, zzz964, False, bhd, bhe) → new_compare110(zzz961, zzz962, zzz963, zzz964, new_lt22(zzz961, zzz963, bhd), new_asAs(new_esEs37(zzz961, zzz963, bhd), new_ltEs23(zzz962, zzz964, bhe)), bhd, bhe)
new_lt6(zzz8880, zzz8890, app(app(ty_Either, chh), daa)) → new_lt11(zzz8880, zzz8890, chh, daa)
new_lt23(zzz8880, zzz8890, app(ty_Ratio, gcc)) → new_lt18(zzz8880, zzz8890, gcc)
new_esEs7(zzz7982, zzz8042, ty_Bool) → new_esEs23(zzz7982, zzz8042)
new_esEs29(zzz8881, zzz8891, app(app(ty_@2, chd), che)) → new_esEs13(zzz8881, zzz8891, chd, che)
new_ltEs20(zzz907, zzz908, app(app(app(ty_@3, ha), hb), hc)) → new_ltEs4(zzz907, zzz908, ha, hb, hc)
new_primEqInt(Neg(Succ(zzz798000)), Neg(Succ(zzz804000))) → new_primEqNat0(zzz798000, zzz804000)
new_esEs4(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_compare5(True, True) → EQ
new_compare8(@3(zzz7980, zzz7981, zzz7982), @3(zzz8040, zzz8041, zzz8042), ddf, ddg, ddh) → new_compare27(zzz7980, zzz7981, zzz7982, zzz8040, zzz8041, zzz8042, new_asAs(new_esEs9(zzz7980, zzz8040, ddf), new_asAs(new_esEs8(zzz7981, zzz8041, ddg), new_esEs7(zzz7982, zzz8042, ddh))), ddf, ddg, ddh)
new_esEs29(zzz8881, zzz8891, app(app(app(ty_@3, cgh), cha), chb)) → new_esEs16(zzz8881, zzz8891, cgh, cha, chb)
new_esEs19(EQ, EQ) → True
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)
new_ltEs21(zzz888, zzz889, ty_Int) → new_ltEs8(zzz888, zzz889)
new_esEs6(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_lt22(zzz961, zzz963, ty_Double) → new_lt8(zzz961, zzz963)
new_lt6(zzz8880, zzz8890, app(app(app(ty_@3, dab), dac), dad)) → new_lt17(zzz8880, zzz8890, dab, dac, dad)
new_lt26(zzz867, zzz862, ty_Double) → new_lt8(zzz867, zzz862)
new_esEs37(zzz961, zzz963, ty_@0) → new_esEs27(zzz961, zzz963)
new_esEs10(zzz7981, zzz8041, app(ty_Maybe, fgd)) → new_esEs21(zzz7981, zzz8041, fgd)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs35(zzz948, zzz951, ty_Ordering) → new_esEs19(zzz948, zzz951)
new_esEs8(zzz7981, zzz8041, app(app(ty_Either, eha), ehb)) → new_esEs20(zzz7981, zzz8041, eha, ehb)
new_primCompAux0(zzz894, GT) → GT
new_compare26(zzz907, zzz908, True, gc, gd) → EQ
new_esEs36(zzz79800, zzz80400, app(app(ty_Either, fcc), fcd)) → new_esEs20(zzz79800, zzz80400, fcc, fcd)
new_fsEs(zzz1069) → new_not(new_esEs19(zzz1069, GT))
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs4(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_esEs7(zzz7982, zzz8042, app(app(ty_@2, egc), egd)) → new_esEs13(zzz7982, zzz8042, egc, egd)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_esEs9(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_ltEs5(zzz8882, zzz8892, app(ty_Ratio, cga)) → new_ltEs17(zzz8882, zzz8892, cga)
new_compare14(zzz798, zzz804) → new_primCmpInt(zzz798, zzz804)
new_lt19(zzz798, zzz804, cch, cda) → new_esEs12(new_compare30(zzz798, zzz804, cch, cda))
new_gt15(zzz1063, zzz1058, ty_Int) → new_gt11(zzz1063, zzz1058)
new_ltEs19(zzz950, zzz953, ty_Double) → new_ltEs7(zzz950, zzz953)
new_esEs11(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_lt21(zzz948, zzz951, ty_Char) → new_lt13(zzz948, zzz951)
new_esEs7(zzz7982, zzz8042, ty_Float) → new_esEs24(zzz7982, zzz8042)
new_esEs19(EQ, LT) → False
new_esEs19(LT, EQ) → False
new_esEs30(zzz8880, zzz8890, app(app(ty_@2, daf), dag)) → new_esEs13(zzz8880, zzz8890, daf, dag)
new_ltEs24(zzz8881, zzz8891, ty_@0) → new_ltEs13(zzz8881, zzz8891)
new_esEs34(zzz949, zzz952, ty_Char) → new_esEs18(zzz949, zzz952)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Bool, bfa) → new_esEs23(zzz79800, zzz80400)
new_primEqInt(Pos(Succ(zzz798000)), Pos(Succ(zzz804000))) → new_primEqNat0(zzz798000, zzz804000)
new_esEs31(zzz79802, zzz80402, ty_Bool) → new_esEs23(zzz79802, zzz80402)
new_gt15(zzz1063, zzz1058, ty_Ordering) → new_gt7(zzz1063, zzz1058)
new_esEs30(zzz8880, zzz8890, ty_@0) → new_esEs27(zzz8880, zzz8890)
new_esEs21(Just(zzz79800), Just(zzz80400), app(ty_[], cf)) → new_esEs22(zzz79800, zzz80400, cf)
new_esEs14(zzz79801, zzz80401, app(app(app(ty_@3, dd), de), df)) → new_esEs16(zzz79801, zzz80401, dd, de, df)
new_ltEs21(zzz888, zzz889, ty_Float) → new_ltEs11(zzz888, zzz889)
new_ltEs14(zzz888, zzz889) → new_fsEs(new_compare17(zzz888, zzz889))
new_esEs33(zzz79800, zzz80400, app(app(ty_@2, dhe), dhf)) → new_esEs13(zzz79800, zzz80400, dhe, dhf)
new_esEs9(zzz7980, zzz8040, app(app(ty_Either, fac), fad)) → new_esEs20(zzz7980, zzz8040, fac, fad)
new_ltEs5(zzz8882, zzz8892, app(app(ty_@2, cgb), cgc)) → new_ltEs18(zzz8882, zzz8892, cgb, cgc)
new_ltEs24(zzz8881, zzz8891, ty_Float) → new_ltEs11(zzz8881, zzz8891)
new_primEqNat0(Succ(zzz798000), Succ(zzz804000)) → new_primEqNat0(zzz798000, zzz804000)
new_esEs25(Double(zzz79800, zzz79801), Double(zzz80400, zzz80401)) → new_esEs28(new_sr(zzz79800, zzz80400), new_sr(zzz79801, zzz80401))
new_lt22(zzz961, zzz963, ty_Char) → new_lt13(zzz961, zzz963)
new_esEs8(zzz7981, zzz8041, ty_@0) → new_esEs27(zzz7981, zzz8041)
new_lt23(zzz8880, zzz8890, ty_Double) → new_lt8(zzz8880, zzz8890)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_esEs37(zzz961, zzz963, ty_Int) → new_esEs28(zzz961, zzz963)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, app(app(ty_Either, fee), fef)) → new_ltEs10(zzz8880, zzz8890, fee, fef)
new_ltEs5(zzz8882, zzz8892, ty_Int) → new_ltEs8(zzz8882, zzz8892)
new_esEs35(zzz948, zzz951, ty_Bool) → new_esEs23(zzz948, zzz951)
new_esEs5(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_ltEs6(Just(zzz8880), Nothing, bab) → False
new_compare18(GT, LT) → GT
new_lt5(zzz8881, zzz8891, app(app(ty_Either, cgf), cgg)) → new_lt11(zzz8881, zzz8891, cgf, cgg)
new_esEs30(zzz8880, zzz8890, ty_Float) → new_esEs24(zzz8880, zzz8890)
new_compare31(zzz7980, zzz8040, app(app(app(ty_@3, cdf), cdg), cdh)) → new_compare8(zzz7980, zzz8040, cdf, cdg, cdh)
new_esEs29(zzz8881, zzz8891, ty_Integer) → new_esEs26(zzz8881, zzz8891)
new_ltEs24(zzz8881, zzz8891, app(ty_Maybe, gab)) → new_ltEs6(zzz8881, zzz8891, gab)
new_lt21(zzz948, zzz951, app(ty_[], ecg)) → new_lt10(zzz948, zzz951, ecg)
new_ltEs21(zzz888, zzz889, ty_Ordering) → new_ltEs16(zzz888, zzz889)
new_compare31(zzz7980, zzz8040, app(ty_Ratio, cea)) → new_compare9(zzz7980, zzz8040, cea)
new_compare31(zzz7980, zzz8040, app(ty_Maybe, cdb)) → new_compare6(zzz7980, zzz8040, cdb)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_Integer) → new_ltEs14(zzz8880, zzz8890)
new_lt20(zzz949, zzz952, ty_Char) → new_lt13(zzz949, zzz952)
new_compare28(zzz888, zzz889, False, baa) → new_compare15(zzz888, zzz889, new_ltEs21(zzz888, zzz889, baa), baa)
new_esEs9(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_esEs36(zzz79800, zzz80400, app(app(app(ty_@3, fbg), fbh), fca)) → new_esEs16(zzz79800, zzz80400, fbg, fbh, fca)
new_esEs10(zzz7981, zzz8041, ty_Char) → new_esEs18(zzz7981, zzz8041)
new_esEs28(zzz7980, zzz8040) → new_primEqInt(zzz7980, zzz8040)
new_gt15(zzz1063, zzz1058, app(ty_Ratio, bcg)) → new_gt13(zzz1063, zzz1058, bcg)
new_esEs26(Integer(zzz79800), Integer(zzz80400)) → new_primEqInt(zzz79800, zzz80400)
new_esEs10(zzz7981, zzz8041, ty_Bool) → new_esEs23(zzz7981, zzz8041)
new_gt11(zzz832, zzz838) → new_esEs41(new_compare14(zzz832, zzz838))
new_lt5(zzz8881, zzz8891, app(ty_Ratio, chc)) → new_lt18(zzz8881, zzz8891, chc)
new_esEs32(zzz79801, zzz80401, app(ty_Maybe, dga)) → new_esEs21(zzz79801, zzz80401, dga)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Ordering, bfa) → new_esEs19(zzz79800, zzz80400)
new_gt3(zzz832, zzz838) → new_esEs41(new_compare13(zzz832, zzz838))
new_esEs33(zzz79800, zzz80400, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_esEs35(zzz948, zzz951, app(ty_Ratio, ede)) → new_esEs17(zzz948, zzz951, ede)
new_primEqInt(Pos(Zero), Neg(Succ(zzz804000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(zzz804000))) → False
new_esEs14(zzz79801, zzz80401, app(app(ty_@2, ed), ee)) → new_esEs13(zzz79801, zzz80401, ed, ee)
new_esEs30(zzz8880, zzz8890, app(ty_Maybe, chf)) → new_esEs21(zzz8880, zzz8890, chf)
new_esEs30(zzz8880, zzz8890, ty_Bool) → new_esEs23(zzz8880, zzz8890)
new_esEs30(zzz8880, zzz8890, app(ty_Ratio, dae)) → new_esEs17(zzz8880, zzz8890, dae)
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_lt26(zzz867, zzz862, app(app(app(ty_@3, eee), eef), eeg)) → new_lt17(zzz867, zzz862, eee, eef, eeg)
new_esEs33(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs6(zzz7980, zzz8040, app(ty_Maybe, dch)) → new_esEs21(zzz7980, zzz8040, dch)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, app(app(app(ty_@3, bgb), bgc), bgd)) → new_esEs16(zzz79800, zzz80400, bgb, bgc, bgd)
new_ltEs16(EQ, EQ) → True
new_gt12(zzz832, zzz838, fbd, fbe, fbf) → new_esEs41(new_compare8(zzz832, zzz838, fbd, fbe, fbf))
new_esEs20(Left(zzz79800), Left(zzz80400), app(ty_[], bff), bfa) → new_esEs22(zzz79800, zzz80400, bff)
new_primCompAux0(zzz894, LT) → LT
new_esEs33(zzz79800, zzz80400, app(app(ty_Either, dha), dhb)) → new_esEs20(zzz79800, zzz80400, dha, dhb)
new_compare18(EQ, GT) → LT
new_not(False) → True
new_esEs8(zzz7981, zzz8041, ty_Float) → new_esEs24(zzz7981, zzz8041)
new_lt21(zzz948, zzz951, app(app(ty_Either, ech), eda)) → new_lt11(zzz948, zzz951, ech, eda)
new_ltEs21(zzz888, zzz889, app(app(ty_@2, bbb), bbc)) → new_ltEs18(zzz888, zzz889, bbb, bbc)
new_esEs21(Just(zzz79800), Just(zzz80400), app(app(ty_Either, cc), cd)) → new_esEs20(zzz79800, zzz80400, cc, cd)
new_ltEs7(zzz888, zzz889) → new_fsEs(new_compare19(zzz888, zzz889))
new_esEs35(zzz948, zzz951, app(app(ty_Either, ech), eda)) → new_esEs20(zzz948, zzz951, ech, eda)
new_esEs37(zzz961, zzz963, app(ty_[], bhg)) → new_esEs22(zzz961, zzz963, bhg)
new_ltEs23(zzz962, zzz964, app(ty_[], cba)) → new_ltEs9(zzz962, zzz964, cba)
new_lt20(zzz949, zzz952, app(ty_[], ebe)) → new_lt10(zzz949, zzz952, ebe)
new_esEs10(zzz7981, zzz8041, ty_Double) → new_esEs25(zzz7981, zzz8041)
new_ltEs21(zzz888, zzz889, ty_Char) → new_ltEs12(zzz888, zzz889)
new_gt6(zzz832, zzz838, ccf, ccg) → new_esEs41(new_compare30(zzz832, zzz838, ccf, ccg))
new_compare0(:(zzz7980, zzz7981), [], bbe) → GT
new_esEs6(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_esEs14(zzz79801, zzz80401, ty_Char) → new_esEs18(zzz79801, zzz80401)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, app(ty_[], bha)) → new_esEs22(zzz79800, zzz80400, bha)
new_lt6(zzz8880, zzz8890, app(ty_[], chg)) → new_lt10(zzz8880, zzz8890, chg)
new_esEs4(zzz7980, zzz8040, app(app(ty_@2, db), dc)) → new_esEs13(zzz7980, zzz8040, db, dc)
new_ltEs22(zzz900, zzz901, ty_Int) → new_ltEs8(zzz900, zzz901)
new_esEs34(zzz949, zzz952, app(app(ty_Either, ebf), ebg)) → new_esEs20(zzz949, zzz952, ebf, ebg)
new_esEs10(zzz7981, zzz8041, app(app(ty_Either, fgb), fgc)) → new_esEs20(zzz7981, zzz8041, fgb, fgc)
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_esEs37(zzz961, zzz963, app(app(app(ty_@3, cab), cac), cad)) → new_esEs16(zzz961, zzz963, cab, cac, cad)
new_esEs6(zzz7980, zzz8040, app(ty_[], dda)) → new_esEs22(zzz7980, zzz8040, dda)
new_esEs7(zzz7982, zzz8042, ty_Integer) → new_esEs26(zzz7982, zzz8042)
new_primEqNat0(Zero, Succ(zzz804000)) → False
new_primEqNat0(Succ(zzz798000), Zero) → False
new_esEs29(zzz8881, zzz8891, app(ty_Ratio, chc)) → new_esEs17(zzz8881, zzz8891, chc)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_Char) → new_ltEs12(zzz8880, zzz8890)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_compare25(zzz900, zzz901, True, bdb, bdc) → EQ
new_lt13(zzz798, zzz804) → new_esEs12(new_compare29(zzz798, zzz804))
new_esEs21(Just(zzz79800), Just(zzz80400), app(ty_Ratio, cb)) → new_esEs17(zzz79800, zzz80400, cb)
new_compare31(zzz7980, zzz8040, app(app(ty_@2, ceb), cec)) → new_compare30(zzz7980, zzz8040, ceb, cec)
new_esEs36(zzz79800, zzz80400, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_gt7(zzz832, zzz838) → new_esEs41(new_compare18(zzz832, zzz838))
new_esEs15(zzz79800, zzz80400, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Int, bfa) → new_esEs28(zzz79800, zzz80400)
new_ltEs20(zzz907, zzz908, ty_Ordering) → new_ltEs16(zzz907, zzz908)
new_ltEs20(zzz907, zzz908, app(app(ty_Either, gg), gh)) → new_ltEs10(zzz907, zzz908, gg, gh)
new_lt20(zzz949, zzz952, app(app(ty_Either, ebf), ebg)) → new_lt11(zzz949, zzz952, ebf, ebg)
new_esEs7(zzz7982, zzz8042, ty_@0) → new_esEs27(zzz7982, zzz8042)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_esEs30(zzz8880, zzz8890, ty_Char) → new_esEs18(zzz8880, zzz8890)
new_compare0(:(zzz7980, zzz7981), :(zzz8040, zzz8041), bbe) → new_primCompAux1(zzz7980, zzz8040, new_compare0(zzz7981, zzz8041, bbe), bbe)
new_esEs20(Left(zzz79800), Left(zzz80400), app(app(app(ty_@3, bef), beg), beh), bfa) → new_esEs16(zzz79800, zzz80400, bef, beg, beh)
new_esEs30(zzz8880, zzz8890, ty_Int) → new_esEs28(zzz8880, zzz8890)
new_esEs39(zzz79801, zzz80401, ty_Int) → new_esEs28(zzz79801, zzz80401)
new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, False, ccb, ccc, ccd) → GT
new_esEs19(LT, LT) → True
new_lt22(zzz961, zzz963, ty_Integer) → new_lt15(zzz961, zzz963)
new_compare11(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, False, zzz1033, ccb, ccc, ccd) → new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, zzz1033, ccb, ccc, ccd)
new_ltEs23(zzz962, zzz964, ty_Ordering) → new_ltEs16(zzz962, zzz964)
new_esEs4(zzz7980, zzz8040, app(ty_Ratio, ceh)) → new_esEs17(zzz7980, zzz8040, ceh)
new_esEs10(zzz7981, zzz8041, app(ty_[], fge)) → new_esEs22(zzz7981, zzz8041, fge)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_ltEs19(zzz950, zzz953, app(app(ty_@2, ebb), ebc)) → new_ltEs18(zzz950, zzz953, ebb, ebc)
new_esEs36(zzz79800, zzz80400, app(app(ty_@2, fcg), fch)) → new_esEs13(zzz79800, zzz80400, fcg, fch)
new_primCompAux1(zzz7980, zzz8040, zzz883, bbe) → new_primCompAux0(zzz883, new_compare31(zzz7980, zzz8040, bbe))
new_compare31(zzz7980, zzz8040, ty_Integer) → new_compare17(zzz7980, zzz8040)
new_compare6(Just(zzz7980), Nothing, ced) → GT
new_esEs8(zzz7981, zzz8041, ty_Bool) → new_esEs23(zzz7981, zzz8041)
new_lt20(zzz949, zzz952, app(ty_Maybe, ebd)) → new_lt7(zzz949, zzz952, ebd)
new_compare5(False, True) → LT
new_asAs(False, zzz1000) → False
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, app(app(app(ty_@3, feg), feh), ffa)) → new_ltEs4(zzz8880, zzz8890, feg, feh, ffa)
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_esEs36(zzz79800, zzz80400, app(ty_Maybe, fce)) → new_esEs21(zzz79800, zzz80400, fce)
new_esEs31(zzz79802, zzz80402, ty_Double) → new_esEs25(zzz79802, zzz80402)
new_esEs5(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_ltEs23(zzz962, zzz964, app(ty_Maybe, cah)) → new_ltEs6(zzz962, zzz964, cah)
new_ltEs22(zzz900, zzz901, app(app(ty_@2, bed), bee)) → new_ltEs18(zzz900, zzz901, bed, bee)
new_esEs14(zzz79801, zzz80401, ty_@0) → new_esEs27(zzz79801, zzz80401)
new_esEs21(Just(zzz79800), Nothing, bf) → False
new_esEs21(Nothing, Just(zzz80400), bf) → False
new_lt5(zzz8881, zzz8891, app(app(ty_@2, chd), che)) → new_lt19(zzz8881, zzz8891, chd, che)
new_esEs29(zzz8881, zzz8891, ty_Double) → new_esEs25(zzz8881, zzz8891)
new_esEs32(zzz79801, zzz80401, ty_Bool) → new_esEs23(zzz79801, zzz80401)
new_compare17(Integer(zzz7980), Integer(zzz8040)) → new_primCmpInt(zzz7980, zzz8040)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Int, bae) → new_ltEs8(zzz8880, zzz8890)
new_esEs10(zzz7981, zzz8041, ty_@0) → new_esEs27(zzz7981, zzz8041)
new_lt23(zzz8880, zzz8890, app(app(app(ty_@3, gbh), gca), gcb)) → new_lt17(zzz8880, zzz8890, gbh, gca, gcb)
new_compare13(@0, @0) → EQ
new_compare31(zzz7980, zzz8040, app(ty_[], cdc)) → new_compare0(zzz7980, zzz8040, cdc)
new_esEs35(zzz948, zzz951, app(ty_[], ecg)) → new_esEs22(zzz948, zzz951, ecg)
new_esEs6(zzz7980, zzz8040, app(ty_Ratio, dce)) → new_esEs17(zzz7980, zzz8040, dce)
new_compare31(zzz7980, zzz8040, app(app(ty_Either, cdd), cde)) → new_compare7(zzz7980, zzz8040, cdd, cde)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Integer) → new_ltEs14(zzz8880, zzz8890)
new_ltEs24(zzz8881, zzz8891, app(ty_[], gac)) → new_ltEs9(zzz8881, zzz8891, gac)
new_ltEs23(zzz962, zzz964, ty_Char) → new_ltEs12(zzz962, zzz964)
new_lt5(zzz8881, zzz8891, app(ty_[], cge)) → new_lt10(zzz8881, zzz8891, cge)
new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, False, bbf, bbg) → GT
new_lt20(zzz949, zzz952, app(ty_Ratio, ecc)) → new_lt18(zzz949, zzz952, ecc)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, app(ty_Ratio, ffb)) → new_ltEs17(zzz8880, zzz8890, ffb)
new_ltEs6(Nothing, Nothing, bab) → True
new_compare7(Right(zzz7980), Left(zzz8040), ga, gb) → GT
new_esEs34(zzz949, zzz952, ty_Integer) → new_esEs26(zzz949, zzz952)
new_esEs40(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_Bool) → new_ltEs15(zzz8880, zzz8890)
new_lt26(zzz867, zzz862, app(ty_[], eeb)) → new_lt10(zzz867, zzz862, eeb)
new_esEs6(zzz7980, zzz8040, app(app(ty_Either, dcf), dcg)) → new_esEs20(zzz7980, zzz8040, dcf, dcg)
new_lt20(zzz949, zzz952, ty_Ordering) → new_lt16(zzz949, zzz952)
new_lt21(zzz948, zzz951, app(app(ty_@2, edf), edg)) → new_lt19(zzz948, zzz951, edf, edg)
new_esEs11(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_esEs9(zzz7980, zzz8040, app(ty_Maybe, fae)) → new_esEs21(zzz7980, zzz8040, fae)
new_esEs41(GT) → True
new_esEs10(zzz7981, zzz8041, app(ty_Ratio, fga)) → new_esEs17(zzz7981, zzz8041, fga)
new_compare25(zzz900, zzz901, False, bdb, bdc) → new_compare10(zzz900, zzz901, new_ltEs22(zzz900, zzz901, bdb), bdb, bdc)
new_esEs6(zzz7980, zzz8040, app(app(app(ty_@3, dcb), dcc), dcd)) → new_esEs16(zzz7980, zzz8040, dcb, dcc, dcd)
new_esEs34(zzz949, zzz952, ty_Double) → new_esEs25(zzz949, zzz952)
new_esEs15(zzz79800, zzz80400, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_lt20(zzz949, zzz952, ty_Integer) → new_lt15(zzz949, zzz952)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Float, bfa) → new_esEs24(zzz79800, zzz80400)
new_esEs31(zzz79802, zzz80402, ty_Char) → new_esEs18(zzz79802, zzz80402)
new_esEs7(zzz7982, zzz8042, ty_Double) → new_esEs25(zzz7982, zzz8042)
new_compare7(Left(zzz7980), Left(zzz8040), ga, gb) → new_compare25(zzz7980, zzz8040, new_esEs5(zzz7980, zzz8040, ga), ga, gb)
new_compare7(Right(zzz7980), Right(zzz8040), ga, gb) → new_compare26(zzz7980, zzz8040, new_esEs6(zzz7980, zzz8040, gb), ga, gb)
new_esEs31(zzz79802, zzz80402, app(app(app(ty_@3, dea), deb), dec)) → new_esEs16(zzz79802, zzz80402, dea, deb, dec)
new_ltEs22(zzz900, zzz901, ty_Double) → new_ltEs7(zzz900, zzz901)
new_esEs15(zzz79800, zzz80400, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_lt5(zzz8881, zzz8891, ty_Ordering) → new_lt16(zzz8881, zzz8891)
new_esEs31(zzz79802, zzz80402, app(ty_Ratio, ded)) → new_esEs17(zzz79802, zzz80402, ded)
new_gt4(zzz832, zzz838) → new_esEs41(new_compare19(zzz832, zzz838))
new_esEs38(zzz8880, zzz8890, app(ty_Maybe, gbd)) → new_esEs21(zzz8880, zzz8890, gbd)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(app(ty_@2, fea), feb), bae) → new_ltEs18(zzz8880, zzz8890, fea, feb)
new_lt22(zzz961, zzz963, app(app(app(ty_@3, cab), cac), cad)) → new_lt17(zzz961, zzz963, cab, cac, cad)
new_lt6(zzz8880, zzz8890, app(ty_Maybe, chf)) → new_lt7(zzz8880, zzz8890, chf)
new_compare0([], :(zzz8040, zzz8041), bbe) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_esEs15(zzz79800, zzz80400, app(ty_[], ff)) → new_esEs22(zzz79800, zzz80400, ff)
new_esEs7(zzz7982, zzz8042, ty_Char) → new_esEs18(zzz7982, zzz8042)
new_gt13(zzz832, zzz838, edh) → new_esEs41(new_compare9(zzz832, zzz838, edh))
new_asAs(True, zzz1000) → zzz1000
new_ltEs22(zzz900, zzz901, ty_Float) → new_ltEs11(zzz900, zzz901)
new_esEs9(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_ltEs5(zzz8882, zzz8892, app(ty_Maybe, cfb)) → new_ltEs6(zzz8882, zzz8892, cfb)
new_ltEs16(LT, LT) → True
new_esEs4(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_esEs14(zzz79801, zzz80401, ty_Integer) → new_esEs26(zzz79801, zzz80401)
new_lt5(zzz8881, zzz8891, ty_Int) → new_lt9(zzz8881, zzz8891)
new_lt22(zzz961, zzz963, ty_@0) → new_lt14(zzz961, zzz963)
new_ltEs23(zzz962, zzz964, ty_@0) → new_ltEs13(zzz962, zzz964)
new_ltEs20(zzz907, zzz908, ty_Int) → new_ltEs8(zzz907, zzz908)
new_esEs17(:%(zzz79800, zzz79801), :%(zzz80400, zzz80401), ceh) → new_asAs(new_esEs40(zzz79800, zzz80400, ceh), new_esEs39(zzz79801, zzz80401, ceh))
new_compare9(:%(zzz7980, zzz7981), :%(zzz8040, zzz8041), ty_Integer) → new_compare17(new_sr0(zzz7980, zzz8041), new_sr0(zzz8040, zzz7981))
new_compare6(Nothing, Just(zzz8040), ced) → LT
new_esEs31(zzz79802, zzz80402, app(app(ty_@2, dfa), dfb)) → new_esEs13(zzz79802, zzz80402, dfa, dfb)
new_ltEs24(zzz8881, zzz8891, ty_Bool) → new_ltEs15(zzz8881, zzz8891)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, app(ty_Ratio, bge)) → new_esEs17(zzz79800, zzz80400, bge)
new_lt6(zzz8880, zzz8890, ty_Ordering) → new_lt16(zzz8880, zzz8890)
new_esEs8(zzz7981, zzz8041, app(ty_Ratio, egh)) → new_esEs17(zzz7981, zzz8041, egh)
new_esEs8(zzz7981, zzz8041, ty_Int) → new_esEs28(zzz7981, zzz8041)
new_esEs34(zzz949, zzz952, ty_Ordering) → new_esEs19(zzz949, zzz952)
new_lt26(zzz867, zzz862, ty_Bool) → new_lt4(zzz867, zzz862)
new_primCompAux0(zzz894, EQ) → zzz894
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_not(True) → False
new_compare210(zzz961, zzz962, zzz963, zzz964, True, bhd, bhe) → EQ
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_compare31(zzz7980, zzz8040, ty_Bool) → new_compare5(zzz7980, zzz8040)
new_gt15(zzz1063, zzz1058, ty_@0) → new_gt3(zzz1063, zzz1058)
new_esEs27(@0, @0) → True
new_lt15(zzz798, zzz804) → new_esEs12(new_compare17(zzz798, zzz804))
new_lt22(zzz961, zzz963, ty_Int) → new_lt9(zzz961, zzz963)
new_esEs35(zzz948, zzz951, ty_Int) → new_esEs28(zzz948, zzz951)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Double, bfa) → new_esEs25(zzz79800, zzz80400)
new_ltEs15(True, False) → False
new_ltEs16(GT, GT) → True
new_compare7(Left(zzz7980), Right(zzz8040), ga, gb) → LT
new_ltEs5(zzz8882, zzz8892, app(app(ty_Either, cfd), cfe)) → new_ltEs10(zzz8882, zzz8892, cfd, cfe)
new_esEs10(zzz7981, zzz8041, ty_Int) → new_esEs28(zzz7981, zzz8041)
new_esEs9(zzz7980, zzz8040, app(app(ty_@2, fag), fah)) → new_esEs13(zzz7980, zzz8040, fag, fah)
new_ltEs19(zzz950, zzz953, app(ty_[], eac)) → new_ltEs9(zzz950, zzz953, eac)
new_ltEs10(Left(zzz8880), Right(zzz8890), bad, bae) → True
new_compare19(Double(zzz7980, zzz7981), Double(zzz8040, zzz8041)) → new_compare14(new_sr(zzz7980, zzz8040), new_sr(zzz7981, zzz8041))
new_compare10(zzz984, zzz985, True, ddd, dde) → LT
new_esEs14(zzz79801, zzz80401, app(ty_Maybe, eb)) → new_esEs21(zzz79801, zzz80401, eb)
new_esEs14(zzz79801, zzz80401, ty_Bool) → new_esEs23(zzz79801, zzz80401)
new_esEs11(zzz7980, zzz8040, app(ty_Maybe, fhf)) → new_esEs21(zzz7980, zzz8040, fhf)
new_esEs11(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_ltEs16(LT, GT) → True
new_lt23(zzz8880, zzz8890, ty_Char) → new_lt13(zzz8880, zzz8890)
new_compare31(zzz7980, zzz8040, ty_Double) → new_compare19(zzz7980, zzz8040)
new_esEs9(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_esEs15(zzz79800, zzz80400, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_ltEs22(zzz900, zzz901, app(app(ty_Either, bdf), bdg)) → new_ltEs10(zzz900, zzz901, bdf, bdg)
new_esEs20(Right(zzz79800), Left(zzz80400), bga, bfa) → False
new_esEs20(Left(zzz79800), Right(zzz80400), bga, bfa) → False
new_gt15(zzz1063, zzz1058, ty_Integer) → new_gt0(zzz1063, zzz1058)
new_primMulNat0(Zero, Zero) → Zero
new_lt6(zzz8880, zzz8890, ty_Bool) → new_lt4(zzz8880, zzz8890)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, app(ty_[], fed)) → new_ltEs9(zzz8880, zzz8890, fed)
new_esEs11(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_esEs4(zzz7980, zzz8040, app(ty_Maybe, bf)) → new_esEs21(zzz7980, zzz8040, bf)
new_esEs4(zzz7980, zzz8040, app(ty_[], cfa)) → new_esEs22(zzz7980, zzz8040, cfa)
new_esEs20(Left(zzz79800), Left(zzz80400), app(ty_Maybe, bfe), bfa) → new_esEs21(zzz79800, zzz80400, bfe)
new_compare31(zzz7980, zzz8040, ty_Float) → new_compare16(zzz7980, zzz8040)
new_esEs34(zzz949, zzz952, ty_Bool) → new_esEs23(zzz949, zzz952)
new_gt15(zzz1063, zzz1058, app(app(ty_Either, bcb), bcc)) → new_gt1(zzz1063, zzz1058, bcb, bcc)
new_esEs29(zzz8881, zzz8891, app(ty_Maybe, cgd)) → new_esEs21(zzz8881, zzz8891, cgd)
new_esEs15(zzz79800, zzz80400, app(app(ty_Either, fb), fc)) → new_esEs20(zzz79800, zzz80400, fb, fc)
new_lt22(zzz961, zzz963, app(app(ty_@2, caf), cag)) → new_lt19(zzz961, zzz963, caf, cag)
new_esEs35(zzz948, zzz951, ty_@0) → new_esEs27(zzz948, zzz951)
new_esEs32(zzz79801, zzz80401, ty_Float) → new_esEs24(zzz79801, zzz80401)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_Double) → new_ltEs7(zzz8880, zzz8890)
new_esEs6(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_ltEs19(zzz950, zzz953, ty_@0) → new_ltEs13(zzz950, zzz953)
new_esEs14(zzz79801, zzz80401, ty_Int) → new_esEs28(zzz79801, zzz80401)
new_esEs29(zzz8881, zzz8891, ty_Float) → new_esEs24(zzz8881, zzz8891)
new_esEs37(zzz961, zzz963, ty_Double) → new_esEs25(zzz961, zzz963)
new_esEs32(zzz79801, zzz80401, ty_Ordering) → new_esEs19(zzz79801, zzz80401)
new_esEs31(zzz79802, zzz80402, app(ty_Maybe, deg)) → new_esEs21(zzz79802, zzz80402, deg)
new_esEs35(zzz948, zzz951, ty_Double) → new_esEs25(zzz948, zzz951)
new_esEs30(zzz8880, zzz8890, ty_Ordering) → new_esEs19(zzz8880, zzz8890)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, app(app(ty_Either, bgf), bgg)) → new_esEs20(zzz79800, zzz80400, bgf, bgg)
new_esEs33(zzz79800, zzz80400, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_ltEs22(zzz900, zzz901, ty_Bool) → new_ltEs15(zzz900, zzz901)
new_esEs32(zzz79801, zzz80401, ty_Int) → new_esEs28(zzz79801, zzz80401)
new_compare15(zzz977, zzz978, False, bbd) → GT
new_compare18(EQ, EQ) → EQ
new_gt5(zzz832, zzz838, cce) → new_esEs41(new_compare0(zzz832, zzz838, cce))
new_esEs14(zzz79801, zzz80401, app(ty_Ratio, dg)) → new_esEs17(zzz79801, zzz80401, dg)
new_esEs4(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_esEs38(zzz8880, zzz8890, ty_Ordering) → new_esEs19(zzz8880, zzz8890)
new_gt10(zzz832, zzz838, fbc) → new_esEs41(new_compare6(zzz832, zzz838, fbc))
new_esEs38(zzz8880, zzz8890, ty_Integer) → new_esEs26(zzz8880, zzz8890)
new_esEs8(zzz7981, zzz8041, app(ty_[], ehd)) → new_esEs22(zzz7981, zzz8041, ehd)
new_ltEs15(True, True) → True
new_lt21(zzz948, zzz951, app(app(app(ty_@3, edb), edc), edd)) → new_lt17(zzz948, zzz951, edb, edc, edd)
new_esEs29(zzz8881, zzz8891, ty_Char) → new_esEs18(zzz8881, zzz8891)
new_esEs34(zzz949, zzz952, ty_Float) → new_esEs24(zzz949, zzz952)
new_ltEs15(False, True) → True
new_esEs36(zzz79800, zzz80400, app(ty_[], fcf)) → new_esEs22(zzz79800, zzz80400, fcf)
new_ltEs22(zzz900, zzz901, app(ty_Maybe, bdd)) → new_ltEs6(zzz900, zzz901, bdd)
new_ltEs16(EQ, GT) → True
new_ltEs24(zzz8881, zzz8891, ty_Double) → new_ltEs7(zzz8881, zzz8891)
new_lt23(zzz8880, zzz8890, app(ty_[], gbe)) → new_lt10(zzz8880, zzz8890, gbe)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(app(ty_Either, fdc), fdd), bae) → new_ltEs10(zzz8880, zzz8890, fdc, fdd)
new_esEs31(zzz79802, zzz80402, ty_@0) → new_esEs27(zzz79802, zzz80402)
new_ltEs18(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), bbb, bbc) → new_pePe(new_lt23(zzz8880, zzz8890, bbb), new_asAs(new_esEs38(zzz8880, zzz8890, bbb), new_ltEs24(zzz8881, zzz8891, bbc)))
new_gt15(zzz1063, zzz1058, app(app(app(ty_@3, bcd), bce), bcf)) → new_gt12(zzz1063, zzz1058, bcd, bce, bcf)
new_ltEs5(zzz8882, zzz8892, app(ty_[], cfc)) → new_ltEs9(zzz8882, zzz8892, cfc)
new_esEs12(LT) → True
new_ltEs15(False, False) → True
new_lt23(zzz8880, zzz8890, ty_Float) → new_lt12(zzz8880, zzz8890)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(app(app(ty_@3, fde), fdf), fdg), bae) → new_ltEs4(zzz8880, zzz8890, fde, fdf, fdg)
new_compare18(GT, GT) → EQ
new_lt5(zzz8881, zzz8891, ty_Float) → new_lt12(zzz8881, zzz8891)
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_esEs11(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_ltEs21(zzz888, zzz889, ty_Bool) → new_ltEs15(zzz888, zzz889)
new_gt15(zzz1063, zzz1058, app(app(ty_@2, bch), bda)) → new_gt6(zzz1063, zzz1058, bch, bda)
new_lt26(zzz867, zzz862, ty_Char) → new_lt13(zzz867, zzz862)
new_lt22(zzz961, zzz963, app(ty_Maybe, bhf)) → new_lt7(zzz961, zzz963, bhf)
new_ltEs19(zzz950, zzz953, app(app(app(ty_@3, eaf), eag), eah)) → new_ltEs4(zzz950, zzz953, eaf, eag, eah)
new_esEs15(zzz79800, zzz80400, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_esEs29(zzz8881, zzz8891, ty_Ordering) → new_esEs19(zzz8881, zzz8891)
new_esEs10(zzz7981, zzz8041, app(app(ty_@2, fgf), fgg)) → new_esEs13(zzz7981, zzz8041, fgf, fgg)
new_esEs37(zzz961, zzz963, app(ty_Ratio, cae)) → new_esEs17(zzz961, zzz963, cae)
new_lt20(zzz949, zzz952, app(app(ty_@2, ecd), ece)) → new_lt19(zzz949, zzz952, ecd, ece)
new_compare18(LT, GT) → LT
new_esEs38(zzz8880, zzz8890, ty_Int) → new_esEs28(zzz8880, zzz8890)
new_lt23(zzz8880, zzz8890, ty_Integer) → new_lt15(zzz8880, zzz8890)
new_esEs37(zzz961, zzz963, app(app(ty_Either, bhh), caa)) → new_esEs20(zzz961, zzz963, bhh, caa)
new_esEs7(zzz7982, zzz8042, app(app(ty_Either, efg), efh)) → new_esEs20(zzz7982, zzz8042, efg, efh)
new_lt6(zzz8880, zzz8890, app(ty_Ratio, dae)) → new_lt18(zzz8880, zzz8890, dae)
new_compare31(zzz7980, zzz8040, ty_Ordering) → new_compare18(zzz7980, zzz8040)
new_compare27(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, False, dhg, dhh, eaa) → new_compare11(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, new_lt21(zzz948, zzz951, dhg), new_asAs(new_esEs35(zzz948, zzz951, dhg), new_pePe(new_lt20(zzz949, zzz952, dhh), new_asAs(new_esEs34(zzz949, zzz952, dhh), new_ltEs19(zzz950, zzz953, eaa)))), dhg, dhh, eaa)
new_ltEs17(zzz888, zzz889, bba) → new_fsEs(new_compare9(zzz888, zzz889, bba))
new_ltEs12(zzz888, zzz889) → new_fsEs(new_compare29(zzz888, zzz889))
new_lt8(zzz798, zzz804) → new_esEs12(new_compare19(zzz798, zzz804))
new_ltEs22(zzz900, zzz901, ty_Char) → new_ltEs12(zzz900, zzz901)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_esEs20(Left(zzz79800), Left(zzz80400), app(ty_Ratio, bfb), bfa) → new_esEs17(zzz79800, zzz80400, bfb)
new_esEs14(zzz79801, zzz80401, app(ty_[], ec)) → new_esEs22(zzz79801, zzz80401, ec)
new_esEs5(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_ltEs5(zzz8882, zzz8892, ty_Float) → new_ltEs11(zzz8882, zzz8892)
new_lt22(zzz961, zzz963, app(ty_Ratio, cae)) → new_lt18(zzz961, zzz963, cae)
new_compare110(zzz1009, zzz1010, zzz1011, zzz1012, False, zzz1014, bbf, bbg) → new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, zzz1014, bbf, bbg)
new_esEs9(zzz7980, zzz8040, app(ty_[], faf)) → new_esEs22(zzz7980, zzz8040, faf)
new_esEs8(zzz7981, zzz8041, ty_Char) → new_esEs18(zzz7981, zzz8041)
new_ltEs11(zzz888, zzz889) → new_fsEs(new_compare16(zzz888, zzz889))
new_ltEs13(zzz888, zzz889) → new_fsEs(new_compare13(zzz888, zzz889))
new_esEs10(zzz7981, zzz8041, ty_Ordering) → new_esEs19(zzz7981, zzz8041)
new_esEs8(zzz7981, zzz8041, app(ty_Maybe, ehc)) → new_esEs21(zzz7981, zzz8041, ehc)
new_ltEs16(LT, EQ) → True
new_lt23(zzz8880, zzz8890, app(app(ty_@2, gce), gcf)) → new_lt19(zzz8880, zzz8890, gce, gcf)
new_esEs5(zzz7980, zzz8040, app(ty_[], dbg)) → new_esEs22(zzz7980, zzz8040, dbg)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Ordering) → new_ltEs16(zzz8880, zzz8890)
new_ltEs19(zzz950, zzz953, app(ty_Ratio, eba)) → new_ltEs17(zzz950, zzz953, eba)
new_lt23(zzz8880, zzz8890, ty_@0) → new_lt14(zzz8880, zzz8890)
new_lt23(zzz8880, zzz8890, ty_Int) → new_lt9(zzz8880, zzz8890)
new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, True, bbf, bbg) → LT
new_lt20(zzz949, zzz952, app(app(app(ty_@3, ebh), eca), ecb)) → new_lt17(zzz949, zzz952, ebh, eca, ecb)
new_ltEs20(zzz907, zzz908, ty_Char) → new_ltEs12(zzz907, zzz908)
new_ltEs20(zzz907, zzz908, app(ty_Ratio, hd)) → new_ltEs17(zzz907, zzz908, hd)
new_lt18(zzz798, zzz804, ffe) → new_esEs12(new_compare9(zzz798, zzz804, ffe))
new_primEqInt(Neg(Succ(zzz798000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(zzz804000))) → False
new_ltEs19(zzz950, zzz953, ty_Char) → new_ltEs12(zzz950, zzz953)
new_esEs36(zzz79800, zzz80400, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_esEs40(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_esEs7(zzz7982, zzz8042, ty_Ordering) → new_esEs19(zzz7982, zzz8042)
new_esEs6(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_esEs15(zzz79800, zzz80400, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_@0) → new_ltEs13(zzz8880, zzz8890)
new_lt6(zzz8880, zzz8890, ty_Float) → new_lt12(zzz8880, zzz8890)
new_lt6(zzz8880, zzz8890, ty_@0) → new_lt14(zzz8880, zzz8890)
new_ltEs24(zzz8881, zzz8891, app(app(ty_Either, gad), gae)) → new_ltEs10(zzz8881, zzz8891, gad, gae)
new_ltEs16(GT, LT) → False
new_lt20(zzz949, zzz952, ty_Double) → new_lt8(zzz949, zzz952)
new_lt6(zzz8880, zzz8890, ty_Double) → new_lt8(zzz8880, zzz8890)
new_esEs35(zzz948, zzz951, ty_Char) → new_esEs18(zzz948, zzz951)
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_esEs38(zzz8880, zzz8890, ty_Float) → new_esEs24(zzz8880, zzz8890)
new_lt6(zzz8880, zzz8890, ty_Char) → new_lt13(zzz8880, zzz8890)
new_ltEs23(zzz962, zzz964, ty_Double) → new_ltEs7(zzz962, zzz964)
new_compare10(zzz984, zzz985, False, ddd, dde) → GT
new_ltEs23(zzz962, zzz964, app(app(app(ty_@3, cbd), cbe), cbf)) → new_ltEs4(zzz962, zzz964, cbd, cbe, cbf)
new_ltEs5(zzz8882, zzz8892, ty_Ordering) → new_ltEs16(zzz8882, zzz8892)
new_esEs38(zzz8880, zzz8890, app(app(ty_@2, gce), gcf)) → new_esEs13(zzz8880, zzz8890, gce, gcf)
new_esEs14(zzz79801, zzz80401, ty_Ordering) → new_esEs19(zzz79801, zzz80401)
new_esEs34(zzz949, zzz952, ty_Int) → new_esEs28(zzz949, zzz952)
new_esEs36(zzz79800, zzz80400, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_compare12(zzz991, zzz992, True, fba, fbb) → LT
new_esEs11(zzz7980, zzz8040, app(app(ty_Either, fhd), fhe)) → new_esEs20(zzz7980, zzz8040, fhd, fhe)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Bool, bae) → new_ltEs15(zzz8880, zzz8890)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_lt10(zzz798, zzz804, bbe) → new_esEs12(new_compare0(zzz798, zzz804, bbe))
new_lt16(zzz798, zzz804) → new_esEs12(new_compare18(zzz798, zzz804))
new_compare6(Nothing, Nothing, ced) → EQ
new_esEs30(zzz8880, zzz8890, ty_Integer) → new_esEs26(zzz8880, zzz8890)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Char) → new_ltEs12(zzz8880, zzz8890)
new_ltEs8(zzz888, zzz889) → new_fsEs(new_compare14(zzz888, zzz889))
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Float) → new_esEs24(zzz79800, zzz80400)
new_primEqInt(Pos(Succ(zzz798000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(zzz804000))) → False
new_esEs5(zzz7980, zzz8040, app(app(ty_@2, dbh), dca)) → new_esEs13(zzz7980, zzz8040, dbh, dca)
new_ltEs5(zzz8882, zzz8892, ty_@0) → new_ltEs13(zzz8882, zzz8892)
new_ltEs19(zzz950, zzz953, app(ty_Maybe, eab)) → new_ltEs6(zzz950, zzz953, eab)
new_ltEs24(zzz8881, zzz8891, app(app(ty_@2, gbb), gbc)) → new_ltEs18(zzz8881, zzz8891, gbb, gbc)
new_esEs5(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_primCmpNat0(Zero, Zero) → EQ
new_compare27(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, True, dhg, dhh, eaa) → EQ
new_esEs13(@2(zzz79800, zzz79801), @2(zzz80400, zzz80401), db, dc) → new_asAs(new_esEs15(zzz79800, zzz80400, db), new_esEs14(zzz79801, zzz80401, dc))
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_esEs36(zzz79800, zzz80400, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_ltEs21(zzz888, zzz889, app(ty_Ratio, bba)) → new_ltEs17(zzz888, zzz889, bba)
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_esEs10(zzz7981, zzz8041, ty_Float) → new_esEs24(zzz7981, zzz8041)
new_esEs37(zzz961, zzz963, ty_Float) → new_esEs24(zzz961, zzz963)
new_esEs11(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(ty_[], fdb), bae) → new_ltEs9(zzz8880, zzz8890, fdb)
new_esEs20(Left(zzz79800), Left(zzz80400), app(app(ty_Either, bfc), bfd), bfa) → new_esEs20(zzz79800, zzz80400, bfc, bfd)
new_sr0(Integer(zzz79800), Integer(zzz80410)) → Integer(new_primMulInt(zzz79800, zzz80410))
new_esEs23(True, True) → True
new_primEqInt(Pos(Succ(zzz798000)), Neg(zzz80400)) → False
new_primEqInt(Neg(Succ(zzz798000)), Pos(zzz80400)) → False
new_ltEs5(zzz8882, zzz8892, ty_Double) → new_ltEs7(zzz8882, zzz8892)
new_esEs22(:(zzz79800, zzz79801), :(zzz80400, zzz80401), cfa) → new_asAs(new_esEs36(zzz79800, zzz80400, cfa), new_esEs22(zzz79801, zzz80401, cfa))
new_ltEs6(Just(zzz8880), Just(zzz8890), app(ty_Maybe, gcg)) → new_ltEs6(zzz8880, zzz8890, gcg)
new_compare5(True, False) → GT
new_lt6(zzz8880, zzz8890, ty_Integer) → new_lt15(zzz8880, zzz8890)
new_esEs5(zzz7980, zzz8040, app(ty_Maybe, dbf)) → new_esEs21(zzz7980, zzz8040, dbf)
new_compare18(EQ, LT) → GT
new_ltEs22(zzz900, zzz901, app(app(app(ty_@3, bdh), bea), beb)) → new_ltEs4(zzz900, zzz901, bdh, bea, beb)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Char) → new_esEs18(zzz79800, zzz80400)
new_esEs23(True, False) → False
new_esEs23(False, True) → False
new_ltEs23(zzz962, zzz964, app(app(ty_@2, cbh), cca)) → new_ltEs18(zzz962, zzz964, cbh, cca)
new_esEs33(zzz79800, zzz80400, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_esEs38(zzz8880, zzz8890, app(app(app(ty_@3, gbh), gca), gcb)) → new_esEs16(zzz8880, zzz8890, gbh, gca, gcb)
new_esEs35(zzz948, zzz951, app(ty_Maybe, ecf)) → new_esEs21(zzz948, zzz951, ecf)
new_esEs22([], [], cfa) → True
new_esEs41(EQ) → False
new_esEs6(zzz7980, zzz8040, app(app(ty_@2, ddb), ddc)) → new_esEs13(zzz7980, zzz8040, ddb, ddc)
new_esEs15(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs11(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_esEs7(zzz7982, zzz8042, app(ty_Ratio, eff)) → new_esEs17(zzz7982, zzz8042, eff)
new_ltEs23(zzz962, zzz964, app(ty_Ratio, cbg)) → new_ltEs17(zzz962, zzz964, cbg)
new_esEs29(zzz8881, zzz8891, ty_Bool) → new_esEs23(zzz8881, zzz8891)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, app(app(ty_@2, bhb), bhc)) → new_esEs13(zzz79800, zzz80400, bhb, bhc)
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_esEs8(zzz7981, zzz8041, ty_Ordering) → new_esEs19(zzz7981, zzz8041)
new_esEs33(zzz79800, zzz80400, app(ty_Ratio, dgh)) → new_esEs17(zzz79800, zzz80400, dgh)
new_esEs31(zzz79802, zzz80402, app(ty_[], deh)) → new_esEs22(zzz79802, zzz80402, deh)
new_lt21(zzz948, zzz951, ty_Bool) → new_lt4(zzz948, zzz951)
new_ltEs5(zzz8882, zzz8892, ty_Integer) → new_ltEs14(zzz8882, zzz8892)
new_lt21(zzz948, zzz951, ty_@0) → new_lt14(zzz948, zzz951)
new_lt22(zzz961, zzz963, ty_Ordering) → new_lt16(zzz961, zzz963)
new_esEs34(zzz949, zzz952, ty_@0) → new_esEs27(zzz949, zzz952)
new_lt26(zzz867, zzz862, app(app(ty_@2, efa), efb)) → new_lt19(zzz867, zzz862, efa, efb)
new_esEs5(zzz7980, zzz8040, app(app(app(ty_@3, dah), dba), dbb)) → new_esEs16(zzz7980, zzz8040, dah, dba, dbb)
new_esEs8(zzz7981, zzz8041, ty_Integer) → new_esEs26(zzz7981, zzz8041)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_@0, bfa) → new_esEs27(zzz79800, zzz80400)
new_esEs19(GT, LT) → False
new_esEs19(LT, GT) → False
new_esEs31(zzz79802, zzz80402, ty_Integer) → new_esEs26(zzz79802, zzz80402)
new_lt21(zzz948, zzz951, ty_Double) → new_lt8(zzz948, zzz951)
new_esEs5(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_esEs38(zzz8880, zzz8890, ty_@0) → new_esEs27(zzz8880, zzz8890)
new_lt23(zzz8880, zzz8890, app(app(ty_Either, gbf), gbg)) → new_lt11(zzz8880, zzz8890, gbf, gbg)
new_esEs6(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_esEs4(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_esEs30(zzz8880, zzz8890, app(app(ty_Either, chh), daa)) → new_esEs20(zzz8880, zzz8890, chh, daa)
new_esEs15(zzz79800, zzz80400, app(ty_Ratio, fa)) → new_esEs17(zzz79800, zzz80400, fa)
new_lt7(zzz798, zzz804, ced) → new_esEs12(new_compare6(zzz798, zzz804, ced))
new_ltEs21(zzz888, zzz889, app(app(app(ty_@3, baf), bag), bah)) → new_ltEs4(zzz888, zzz889, baf, bag, bah)
new_gt15(zzz1063, zzz1058, app(ty_Maybe, bbh)) → new_gt10(zzz1063, zzz1058, bbh)
new_lt20(zzz949, zzz952, ty_@0) → new_lt14(zzz949, zzz952)
new_ltEs22(zzz900, zzz901, ty_@0) → new_ltEs13(zzz900, zzz901)
new_gt1(zzz832, zzz838, hg, hh) → new_esEs41(new_compare7(zzz832, zzz838, hg, hh))
new_esEs34(zzz949, zzz952, app(ty_[], ebe)) → new_esEs22(zzz949, zzz952, ebe)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_ltEs6(Just(zzz8880), Just(zzz8890), app(app(ty_Either, gda), gdb)) → new_ltEs10(zzz8880, zzz8890, gda, gdb)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(ty_Ratio, gdf)) → new_ltEs17(zzz8880, zzz8890, gdf)
new_esEs33(zzz79800, zzz80400, app(ty_Maybe, dhc)) → new_esEs21(zzz79800, zzz80400, dhc)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(ty_[], gch)) → new_ltEs9(zzz8880, zzz8890, gch)
new_esEs9(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_ltEs24(zzz8881, zzz8891, ty_Ordering) → new_ltEs16(zzz8881, zzz8891)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Double, bae) → new_ltEs7(zzz8880, zzz8890)
new_gt15(zzz1063, zzz1058, ty_Bool) → new_gt2(zzz1063, zzz1058)
new_ltEs20(zzz907, zzz908, app(ty_Maybe, ge)) → new_ltEs6(zzz907, zzz908, ge)
new_esEs5(zzz7980, zzz8040, app(app(ty_Either, dbd), dbe)) → new_esEs20(zzz7980, zzz8040, dbd, dbe)
new_lt21(zzz948, zzz951, ty_Integer) → new_lt15(zzz948, zzz951)
new_esEs11(zzz7980, zzz8040, app(app(app(ty_@3, fgh), fha), fhb)) → new_esEs16(zzz7980, zzz8040, fgh, fha, fhb)
new_esEs9(zzz7980, zzz8040, app(ty_Ratio, fab)) → new_esEs17(zzz7980, zzz8040, fab)
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_esEs29(zzz8881, zzz8891, app(app(ty_Either, cgf), cgg)) → new_esEs20(zzz8881, zzz8891, cgf, cgg)
new_esEs37(zzz961, zzz963, ty_Bool) → new_esEs23(zzz961, zzz963)
new_ltEs22(zzz900, zzz901, ty_Integer) → new_ltEs14(zzz900, zzz901)
new_esEs37(zzz961, zzz963, ty_Char) → new_esEs18(zzz961, zzz963)
new_ltEs21(zzz888, zzz889, app(app(ty_Either, bad), bae)) → new_ltEs10(zzz888, zzz889, bad, bae)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_@0) → new_esEs27(zzz79800, zzz80400)
new_gt9(zzz832, zzz838) → new_esEs41(new_compare29(zzz832, zzz838))
new_esEs31(zzz79802, zzz80402, ty_Float) → new_esEs24(zzz79802, zzz80402)
new_compare6(Just(zzz7980), Just(zzz8040), ced) → new_compare28(zzz7980, zzz8040, new_esEs4(zzz7980, zzz8040, ced), ced)
new_lt26(zzz867, zzz862, ty_Integer) → new_lt15(zzz867, zzz862)
new_esEs33(zzz79800, zzz80400, app(ty_[], dhd)) → new_esEs22(zzz79800, zzz80400, dhd)
new_esEs19(GT, EQ) → False
new_esEs19(EQ, GT) → False
new_lt5(zzz8881, zzz8891, app(ty_Maybe, cgd)) → new_lt7(zzz8881, zzz8891, cgd)
new_lt5(zzz8881, zzz8891, ty_Bool) → new_lt4(zzz8881, zzz8891)
new_gt15(zzz1063, zzz1058, app(ty_[], bca)) → new_gt5(zzz1063, zzz1058, bca)
new_esEs10(zzz7981, zzz8041, ty_Integer) → new_esEs26(zzz7981, zzz8041)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(app(app(ty_@3, gdc), gdd), gde)) → new_ltEs4(zzz8880, zzz8890, gdc, gdd, gde)
new_esEs22([], :(zzz80400, zzz80401), cfa) → False
new_esEs22(:(zzz79800, zzz79801), [], cfa) → False
new_esEs5(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_lt23(zzz8880, zzz8890, ty_Ordering) → new_lt16(zzz8880, zzz8890)
new_lt26(zzz867, zzz862, ty_Float) → new_lt12(zzz867, zzz862)
new_gt2(zzz832, zzz838) → new_esEs41(new_compare5(zzz832, zzz838))
new_lt4(zzz798, zzz804) → new_esEs12(new_compare5(zzz798, zzz804))
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_esEs6(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_lt17(zzz798, zzz804, ddf, ddg, ddh) → new_esEs12(new_compare8(zzz798, zzz804, ddf, ddg, ddh))
new_ltEs20(zzz907, zzz908, ty_Bool) → new_ltEs15(zzz907, zzz908)
new_esEs33(zzz79800, zzz80400, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_esEs31(zzz79802, zzz80402, ty_Ordering) → new_esEs19(zzz79802, zzz80402)
new_lt21(zzz948, zzz951, ty_Int) → new_lt9(zzz948, zzz951)
new_esEs15(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_lt22(zzz961, zzz963, app(ty_[], bhg)) → new_lt10(zzz961, zzz963, bhg)
new_esEs38(zzz8880, zzz8890, ty_Double) → new_esEs25(zzz8880, zzz8890)
new_gt8(zzz832, zzz838) → new_esEs41(new_compare16(zzz832, zzz838))
new_esEs7(zzz7982, zzz8042, ty_Int) → new_esEs28(zzz7982, zzz8042)
new_ltEs5(zzz8882, zzz8892, ty_Char) → new_ltEs12(zzz8882, zzz8892)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_Int) → new_ltEs8(zzz8880, zzz8890)
new_lt21(zzz948, zzz951, ty_Ordering) → new_lt16(zzz948, zzz951)
new_ltEs23(zzz962, zzz964, ty_Bool) → new_ltEs15(zzz962, zzz964)
new_ltEs4(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), baf, bag, bah) → new_pePe(new_lt6(zzz8880, zzz8890, baf), new_asAs(new_esEs30(zzz8880, zzz8890, baf), new_pePe(new_lt5(zzz8881, zzz8891, bag), new_asAs(new_esEs29(zzz8881, zzz8891, bag), new_ltEs5(zzz8882, zzz8892, bah)))))
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, app(ty_Maybe, fec)) → new_ltEs6(zzz8880, zzz8890, fec)
new_esEs35(zzz948, zzz951, ty_Float) → new_esEs24(zzz948, zzz951)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Bool) → new_ltEs15(zzz8880, zzz8890)
new_esEs15(zzz79800, zzz80400, app(ty_Maybe, fd)) → new_esEs21(zzz79800, zzz80400, fd)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Char, bae) → new_ltEs12(zzz8880, zzz8890)
new_ltEs9(zzz888, zzz889, bac) → new_fsEs(new_compare0(zzz888, zzz889, bac))
new_esEs41(LT) → False
new_esEs20(Left(zzz79800), Left(zzz80400), app(app(ty_@2, bfg), bfh), bfa) → new_esEs13(zzz79800, zzz80400, bfg, bfh)
new_esEs32(zzz79801, zzz80401, app(ty_Ratio, dff)) → new_esEs17(zzz79801, zzz80401, dff)
new_ltEs24(zzz8881, zzz8891, ty_Char) → new_ltEs12(zzz8881, zzz8891)
new_gt0(zzz832, zzz838) → new_esEs41(new_compare17(zzz832, zzz838))
new_ltEs21(zzz888, zzz889, ty_@0) → new_ltEs13(zzz888, zzz889)
new_ltEs20(zzz907, zzz908, ty_Float) → new_ltEs11(zzz907, zzz908)
new_compare18(LT, LT) → EQ
new_ltEs10(Right(zzz8880), Left(zzz8890), bad, bae) → False
new_esEs36(zzz79800, zzz80400, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_ltEs22(zzz900, zzz901, app(ty_[], bde)) → new_ltEs9(zzz900, zzz901, bde)
new_lt21(zzz948, zzz951, ty_Float) → new_lt12(zzz948, zzz951)
new_esEs7(zzz7982, zzz8042, app(app(app(ty_@3, efc), efd), efe)) → new_esEs16(zzz7982, zzz8042, efc, efd, efe)
new_esEs34(zzz949, zzz952, app(app(ty_@2, ecd), ece)) → new_esEs13(zzz949, zzz952, ecd, ece)
new_esEs35(zzz948, zzz951, app(app(app(ty_@3, edb), edc), edd)) → new_esEs16(zzz948, zzz951, edb, edc, edd)
new_esEs6(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_esEs35(zzz948, zzz951, ty_Integer) → new_esEs26(zzz948, zzz951)
new_esEs37(zzz961, zzz963, ty_Integer) → new_esEs26(zzz961, zzz963)
new_lt5(zzz8881, zzz8891, ty_Double) → new_lt8(zzz8881, zzz8891)
new_ltEs21(zzz888, zzz889, ty_Integer) → new_ltEs14(zzz888, zzz889)
new_compare15(zzz977, zzz978, True, bbd) → LT
new_esEs8(zzz7981, zzz8041, app(app(ty_@2, ehe), ehf)) → new_esEs13(zzz7981, zzz8041, ehe, ehf)
new_ltEs21(zzz888, zzz889, ty_Double) → new_ltEs7(zzz888, zzz889)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Double) → new_esEs25(zzz79800, zzz80400)
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_lt22(zzz961, zzz963, ty_Bool) → new_lt4(zzz961, zzz963)
new_ltEs23(zzz962, zzz964, ty_Int) → new_ltEs8(zzz962, zzz964)
new_esEs11(zzz7980, zzz8040, app(app(ty_@2, fhh), gaa)) → new_esEs13(zzz7980, zzz8040, fhh, gaa)
new_esEs4(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(app(ty_@2, gdg), gdh)) → new_ltEs18(zzz8880, zzz8890, gdg, gdh)
new_esEs33(zzz79800, zzz80400, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_compare28(zzz888, zzz889, True, baa) → EQ
new_compare18(LT, EQ) → LT
new_lt20(zzz949, zzz952, ty_Int) → new_lt9(zzz949, zzz952)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Int) → new_ltEs8(zzz8880, zzz8890)
new_esEs29(zzz8881, zzz8891, ty_@0) → new_esEs27(zzz8881, zzz8891)
new_esEs9(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_esEs37(zzz961, zzz963, ty_Ordering) → new_esEs19(zzz961, zzz963)
new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, True, ccb, ccc, ccd) → LT
new_esEs15(zzz79800, zzz80400, app(app(ty_@2, fg), fh)) → new_esEs13(zzz79800, zzz80400, fg, fh)
new_ltEs20(zzz907, zzz908, ty_@0) → new_ltEs13(zzz907, zzz908)
new_esEs36(zzz79800, zzz80400, app(ty_Ratio, fcb)) → new_esEs17(zzz79800, zzz80400, fcb)
new_esEs11(zzz7980, zzz8040, app(ty_[], fhg)) → new_esEs22(zzz7980, zzz8040, fhg)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(ty_Ratio, fdh), bae) → new_ltEs17(zzz8880, zzz8890, fdh)
new_esEs38(zzz8880, zzz8890, app(ty_Ratio, gcc)) → new_esEs17(zzz8880, zzz8890, gcc)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Integer, bae) → new_ltEs14(zzz8880, zzz8890)
new_lt5(zzz8881, zzz8891, ty_@0) → new_lt14(zzz8881, zzz8891)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Integer, bfa) → new_esEs26(zzz79800, zzz80400)
new_esEs11(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_@0, bae) → new_ltEs13(zzz8880, zzz8890)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs29(zzz8881, zzz8891, ty_Int) → new_esEs28(zzz8881, zzz8891)
new_ltEs5(zzz8882, zzz8892, app(app(app(ty_@3, cff), cfg), cfh)) → new_ltEs4(zzz8882, zzz8892, cff, cfg, cfh)
new_lt26(zzz867, zzz862, app(ty_Maybe, eea)) → new_lt7(zzz867, zzz862, eea)
new_gt15(zzz1063, zzz1058, ty_Double) → new_gt4(zzz1063, zzz1058)
new_esEs32(zzz79801, zzz80401, ty_Char) → new_esEs18(zzz79801, zzz80401)
new_compare9(:%(zzz7980, zzz7981), :%(zzz8040, zzz8041), ty_Int) → new_compare14(new_sr(zzz7980, zzz8041), new_sr(zzz8040, zzz7981))
new_ltEs10(Left(zzz8880), Left(zzz8890), app(ty_Maybe, fda), bae) → new_ltEs6(zzz8880, zzz8890, fda)
new_esEs32(zzz79801, zzz80401, app(app(ty_@2, dgc), dgd)) → new_esEs13(zzz79801, zzz80401, dgc, dgd)
new_lt22(zzz961, zzz963, app(app(ty_Either, bhh), caa)) → new_lt11(zzz961, zzz963, bhh, caa)
new_esEs14(zzz79801, zzz80401, ty_Float) → new_esEs24(zzz79801, zzz80401)
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_esEs16(@3(zzz79800, zzz79801, zzz79802), @3(zzz80400, zzz80401, zzz80402), cee, cef, ceg) → new_asAs(new_esEs33(zzz79800, zzz80400, cee), new_asAs(new_esEs32(zzz79801, zzz80401, cef), new_esEs31(zzz79802, zzz80402, ceg)))

The set Q consists of the following terms:

new_esEs14(x0, x1, ty_Char)
new_esEs32(x0, x1, ty_Ordering)
new_gt12(x0, x1, x2, x3, x4)
new_ltEs23(x0, x1, ty_Char)
new_ltEs6(Just(x0), Just(x1), ty_Double)
new_esEs11(x0, x1, ty_Integer)
new_esEs36(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt26(x0, x1, ty_Double)
new_esEs16(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt21(x0, x1, ty_Integer)
new_ltEs21(x0, x1, ty_Char)
new_esEs15(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Int)
new_esEs35(x0, x1, ty_Float)
new_esEs34(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, ty_Int)
new_esEs22([], :(x0, x1), x2)
new_esEs38(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Integer)
new_esEs34(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Char)
new_ltEs21(x0, x1, ty_Int)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs37(x0, x1, ty_Char)
new_ltEs6(Just(x0), Nothing, x1)
new_ltEs10(Right(x0), Right(x1), x2, ty_Integer)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs8(x0, x1, ty_Int)
new_compare25(x0, x1, True, x2, x3)
new_ltEs6(Just(x0), Just(x1), ty_Int)
new_ltEs15(True, True)
new_esEs20(Left(x0), Right(x1), x2, x3)
new_esEs20(Right(x0), Left(x1), x2, x3)
new_ltEs10(Right(x0), Right(x1), x2, ty_Int)
new_esEs32(x0, x1, ty_Int)
new_gt3(x0, x1)
new_esEs37(x0, x1, app(ty_Ratio, x2))
new_esEs14(x0, x1, ty_Bool)
new_ltEs24(x0, x1, ty_Char)
new_esEs21(Just(x0), Just(x1), ty_@0)
new_esEs5(x0, x1, app(ty_Maybe, x2))
new_esEs4(x0, x1, ty_Int)
new_esEs8(x0, x1, ty_Integer)
new_ltEs23(x0, x1, ty_@0)
new_ltEs6(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_gt6(x0, x1, x2, x3)
new_lt22(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Float)
new_esEs20(Left(x0), Left(x1), ty_@0, x2)
new_esEs20(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs34(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs14(x0, x1)
new_esEs10(x0, x1, ty_Bool)
new_ltEs24(x0, x1, app(ty_[], x2))
new_lt23(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat0(Zero, Succ(x0))
new_esEs14(x0, x1, ty_Float)
new_esEs36(x0, x1, ty_Integer)
new_gt15(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs33(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, app(ty_Maybe, x2))
new_ltEs10(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, ty_@0)
new_ltEs6(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, ty_Char)
new_lt23(x0, x1, ty_Integer)
new_primPlusNat1(Zero, Succ(x0))
new_lt9(x0, x1)
new_ltEs19(x0, x1, ty_Int)
new_primEqNat0(Zero, Zero)
new_lt22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, ty_Double)
new_lt5(x0, x1, ty_Char)
new_esEs20(Left(x0), Left(x1), ty_Char, x2)
new_esEs21(Just(x0), Just(x1), ty_Float)
new_esEs11(x0, x1, ty_Bool)
new_lt26(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Double)
new_esEs21(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs6(Just(x0), Just(x1), app(ty_[], x2))
new_esEs20(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs14(x0, x1, ty_Double)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Zero, Zero)
new_esEs7(x0, x1, ty_Integer)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_esEs12(LT)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs31(x0, x1, ty_Double)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_primMulInt(Neg(x0), Neg(x1))
new_lt6(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(Just(x0), Just(x1), app(ty_Ratio, x2))
new_compare18(LT, LT)
new_ltEs10(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs10(x0, x1, ty_@0)
new_esEs8(x0, x1, ty_Double)
new_lt23(x0, x1, ty_Bool)
new_gt15(x0, x1, app(ty_[], x2))
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, ty_Float)
new_lt23(x0, x1, app(ty_Maybe, x2))
new_esEs21(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs22(x0, x1, ty_Double)
new_esEs37(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat0(Succ(x0), x1)
new_compare8(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs14(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs33(x0, x1, ty_Int)
new_esEs7(x0, x1, ty_Char)
new_ltEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(LT, LT)
new_esEs5(x0, x1, ty_Bool)
new_esEs31(x0, x1, ty_Float)
new_esEs18(Char(x0), Char(x1))
new_ltEs24(x0, x1, ty_@0)
new_esEs38(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(Left(x0), Left(x1), ty_Int, x2)
new_esEs29(x0, x1, ty_Int)
new_esEs35(x0, x1, app(app(ty_Either, x2), x3))
new_esEs38(x0, x1, ty_Float)
new_ltEs10(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_compare31(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Double)
new_compare25(x0, x1, False, x2, x3)
new_primMulNat0(Succ(x0), Zero)
new_esEs20(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs33(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, ty_@0)
new_gt15(x0, x1, ty_Int)
new_lt16(x0, x1)
new_lt26(x0, x1, ty_@0)
new_ltEs24(x0, x1, app(app(ty_Either, x2), x3))
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt20(x0, x1, app(ty_[], x2))
new_esEs26(Integer(x0), Integer(x1))
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_compare18(GT, GT)
new_esEs4(x0, x1, ty_Bool)
new_esEs37(x0, x1, ty_@0)
new_esEs22(:(x0, x1), :(x2, x3), x4)
new_compare17(Integer(x0), Integer(x1))
new_lt17(x0, x1, x2, x3, x4)
new_esEs6(x0, x1, ty_Float)
new_ltEs16(EQ, EQ)
new_esEs40(x0, x1, ty_Int)
new_lt22(x0, x1, ty_Bool)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(x0, x1, ty_@0)
new_lt22(x0, x1, ty_Char)
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(x0, x1, ty_Char)
new_esEs29(x0, x1, ty_Integer)
new_ltEs22(x0, x1, ty_Integer)
new_lt22(x0, x1, ty_Integer)
new_lt23(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_ltEs16(LT, LT)
new_esEs38(x0, x1, app(app(ty_@2, x2), x3))
new_esEs35(x0, x1, ty_Bool)
new_lt6(x0, x1, ty_Int)
new_compare210(x0, x1, x2, x3, True, x4, x5)
new_lt23(x0, x1, ty_Char)
new_esEs4(x0, x1, ty_Double)
new_lt5(x0, x1, app(ty_Ratio, x2))
new_ltEs6(Just(x0), Just(x1), ty_@0)
new_esEs36(x0, x1, ty_Ordering)
new_compare26(x0, x1, True, x2, x3)
new_esEs11(x0, x1, ty_Double)
new_lt23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs34(x0, x1, ty_Float)
new_esEs7(x0, x1, ty_Double)
new_esEs32(x0, x1, ty_@0)
new_esEs4(x0, x1, ty_Char)
new_lt23(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs20(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs21(Just(x0), Just(x1), ty_Double)
new_gt11(x0, x1)
new_esEs5(x0, x1, ty_Int)
new_compare31(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Int)
new_esEs23(True, True)
new_ltEs5(x0, x1, ty_@0)
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_gt15(x0, x1, ty_Char)
new_gt15(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs17(x0, x1, x2)
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(Left(x0), Left(x1), ty_Ordering, x2)
new_lt18(x0, x1, x2)
new_lt26(x0, x1, ty_Integer)
new_primMulNat0(Zero, Succ(x0))
new_esEs36(x0, x1, ty_Bool)
new_lt6(x0, x1, ty_Double)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_ltEs6(Just(x0), Just(x1), ty_Bool)
new_compare11(x0, x1, x2, x3, x4, x5, True, x6, x7, x8, x9)
new_esEs38(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs9(x0, x1, ty_Ordering)
new_primEqNat0(Zero, Succ(x0))
new_compare5(False, True)
new_compare5(True, False)
new_esEs8(x0, x1, ty_Float)
new_gt15(x0, x1, ty_Float)
new_esEs14(x0, x1, ty_Integer)
new_esEs37(x0, x1, ty_Bool)
new_ltEs8(x0, x1)
new_ltEs20(x0, x1, ty_@0)
new_ltEs22(x0, x1, ty_Float)
new_esEs11(x0, x1, ty_@0)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_primCompAux1(x0, x1, x2, x3)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs39(x0, x1, ty_Integer)
new_ltEs23(x0, x1, app(ty_[], x2))
new_esEs40(x0, x1, ty_Integer)
new_esEs7(x0, x1, app(ty_[], x2))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs10(x0, x1, ty_Float)
new_esEs33(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs6(Just(x0), Just(x1), ty_Float)
new_ltEs16(GT, GT)
new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(Left(x0), Left(x1), ty_Float, x2)
new_esEs32(x0, x1, ty_Integer)
new_lt13(x0, x1)
new_ltEs10(Right(x0), Right(x1), x2, ty_Char)
new_compare31(x0, x1, ty_Char)
new_lt4(x0, x1)
new_esEs35(x0, x1, ty_@0)
new_esEs24(Float(x0, x1), Float(x2, x3))
new_ltEs10(Left(x0), Left(x1), ty_@0, x2)
new_ltEs24(x0, x1, ty_Integer)
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt20(x0, x1, ty_Int)
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_lt22(x0, x1, ty_Int)
new_compare15(x0, x1, True, x2)
new_ltEs22(x0, x1, ty_Char)
new_ltEs6(Just(x0), Just(x1), ty_Ordering)
new_esEs36(x0, x1, ty_Int)
new_compare9(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs31(x0, x1, ty_Integer)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs11(x0, x1)
new_esEs5(x0, x1, app(ty_[], x2))
new_gt7(x0, x1)
new_esEs21(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_compare7(Left(x0), Left(x1), x2, x3)
new_esEs20(Right(x0), Right(x1), x2, ty_Float)
new_lt23(x0, x1, ty_Ordering)
new_esEs33(x0, x1, ty_Char)
new_esEs23(False, True)
new_esEs23(True, False)
new_ltEs21(x0, x1, ty_@0)
new_esEs5(x0, x1, app(app(ty_@2, x2), x3))
new_gt15(x0, x1, ty_Ordering)
new_esEs37(x0, x1, ty_Double)
new_gt15(x0, x1, app(ty_Ratio, x2))
new_esEs5(x0, x1, ty_Integer)
new_lt22(x0, x1, app(ty_Ratio, x2))
new_compare7(Right(x0), Left(x1), x2, x3)
new_compare7(Left(x0), Right(x1), x2, x3)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(GT, GT)
new_lt20(x0, x1, ty_Double)
new_primPlusNat0(Zero, x0)
new_lt21(x0, x1, ty_Int)
new_esEs11(x0, x1, ty_Char)
new_lt6(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt21(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, ty_Bool)
new_esEs7(x0, x1, ty_@0)
new_lt21(x0, x1, ty_Char)
new_esEs15(x0, x1, ty_Double)
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(Right(x0), Right(x1), x2, ty_@0)
new_compare6(Nothing, Just(x0), x1)
new_gt13(x0, x1, x2)
new_esEs8(x0, x1, ty_@0)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_lt14(x0, x1)
new_esEs30(x0, x1, ty_Double)
new_ltEs10(Left(x0), Right(x1), x2, x3)
new_ltEs10(Right(x0), Left(x1), x2, x3)
new_esEs6(x0, x1, app(ty_[], x2))
new_esEs5(x0, x1, ty_Ordering)
new_esEs33(x0, x1, ty_Ordering)
new_esEs7(x0, x1, ty_Int)
new_esEs36(x0, x1, app(ty_Ratio, x2))
new_esEs19(LT, EQ)
new_esEs19(EQ, LT)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_not(True)
new_esEs35(x0, x1, ty_Double)
new_esEs20(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs15(x0, x1, ty_@0)
new_esEs6(x0, x1, ty_Integer)
new_compare31(x0, x1, app(ty_[], x2))
new_ltEs16(GT, EQ)
new_ltEs16(EQ, GT)
new_esEs6(x0, x1, ty_Ordering)
new_esEs27(@0, @0)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_not(False)
new_lt26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs16(EQ, LT)
new_ltEs16(LT, EQ)
new_ltEs24(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_esEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, ty_@0)
new_esEs20(Right(x0), Right(x1), x2, ty_Bool)
new_ltEs10(Right(x0), Right(x1), x2, ty_Double)
new_esEs12(EQ)
new_esEs31(x0, x1, ty_@0)
new_compare12(x0, x1, True, x2, x3)
new_lt20(x0, x1, ty_@0)
new_esEs35(x0, x1, app(ty_Maybe, x2))
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_primCmpNat0(Succ(x0), Zero)
new_asAs(False, x0)
new_esEs14(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Double)
new_compare0([], [], x0)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs20(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs11(x0, x1, ty_Int)
new_compare31(x0, x1, ty_Ordering)
new_esEs37(x0, x1, app(ty_Maybe, x2))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, ty_@0)
new_esEs15(x0, x1, ty_Char)
new_esEs12(GT)
new_primCompAux0(x0, LT)
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Pos(Zero))
new_lt5(x0, x1, ty_Double)
new_lt5(x0, x1, app(ty_[], x2))
new_esEs20(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs23(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, ty_Bool)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_lt22(x0, x1, ty_Float)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Left(x0), Left(x1), ty_Integer, x2)
new_esEs33(x0, x1, ty_Bool)
new_ltEs22(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(x0, x1)
new_primPlusNat1(Succ(x0), Succ(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_esEs35(x0, x1, app(ty_[], x2))
new_lt6(x0, x1, ty_Integer)
new_esEs34(x0, x1, app(ty_Maybe, x2))
new_esEs34(x0, x1, ty_@0)
new_ltEs10(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_Bool)
new_esEs20(Left(x0), Left(x1), ty_Integer, x2)
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_esEs35(x0, x1, app(ty_Ratio, x2))
new_lt11(x0, x1, x2, x3)
new_esEs36(x0, x1, app(ty_[], x2))
new_esEs39(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Double)
new_ltEs10(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_lt21(x0, x1, ty_Float)
new_lt20(x0, x1, ty_Integer)
new_compare112(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_esEs37(x0, x1, ty_Int)
new_lt5(x0, x1, ty_Ordering)
new_esEs38(x0, x1, ty_Char)
new_ltEs5(x0, x1, ty_Bool)
new_gt8(x0, x1)
new_ltEs19(x0, x1, ty_Integer)
new_ltEs9(x0, x1, x2)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs24(x0, x1, ty_Bool)
new_gt15(x0, x1, ty_Double)
new_compare27(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs10(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs11(x0, x1, app(ty_[], x2))
new_esEs33(x0, x1, ty_Double)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_compare28(x0, x1, False, x2)
new_esEs17(:%(x0, x1), :%(x2, x3), x4)
new_compare16(Float(x0, x1), Float(x2, x3))
new_ltEs24(x0, x1, ty_Double)
new_ltEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs37(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare112(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_esEs4(x0, x1, app(ty_Maybe, x2))
new_esEs14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_ltEs6(Nothing, Nothing, x0)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_esEs20(Left(x0), Left(x1), ty_Double, x2)
new_esEs31(x0, x1, ty_Char)
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, ty_Ordering)
new_esEs37(x0, x1, ty_Float)
new_ltEs10(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs34(x0, x1, ty_Int)
new_ltEs15(False, False)
new_compare110(x0, x1, x2, x3, True, x4, x5, x6)
new_lt22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt23(x0, x1, ty_Float)
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs21(x0, x1, ty_Bool)
new_esEs8(x0, x1, app(ty_[], x2))
new_esEs38(x0, x1, ty_Int)
new_compare11(x0, x1, x2, x3, x4, x5, False, x6, x7, x8, x9)
new_esEs38(x0, x1, ty_Ordering)
new_lt7(x0, x1, x2)
new_esEs31(x0, x1, ty_Ordering)
new_esEs38(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs23(x0, x1, ty_Bool)
new_ltEs22(x0, x1, ty_Int)
new_ltEs6(Nothing, Just(x0), x1)
new_sr(x0, x1)
new_compare111(x0, x1, x2, x3, False, x4, x5)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_ltEs22(x0, x1, ty_@0)
new_lt26(x0, x1, ty_Ordering)
new_esEs15(x0, x1, ty_Bool)
new_esEs35(x0, x1, ty_Ordering)
new_compare26(x0, x1, False, x2, x3)
new_lt15(x0, x1)
new_ltEs5(x0, x1, ty_Int)
new_esEs13(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs10(x0, x1, ty_Char)
new_esEs6(x0, x1, ty_Char)
new_lt22(x0, x1, ty_@0)
new_esEs23(False, False)
new_gt0(x0, x1)
new_esEs33(x0, x1, app(ty_Maybe, x2))
new_gt15(x0, x1, ty_Integer)
new_lt21(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_esEs36(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Integer)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_gt5(x0, x1, x2)
new_lt6(x0, x1, ty_@0)
new_esEs38(x0, x1, ty_Integer)
new_lt22(x0, x1, app(app(ty_@2, x2), x3))
new_lt6(x0, x1, ty_Float)
new_esEs5(x0, x1, ty_Double)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs38(x0, x1, app(ty_Ratio, x2))
new_fsEs(x0)
new_ltEs5(x0, x1, ty_Ordering)
new_ltEs10(Left(x0), Left(x1), ty_Double, x2)
new_lt6(x0, x1, ty_Bool)
new_lt21(x0, x1, ty_Bool)
new_esEs34(x0, x1, ty_Ordering)
new_esEs32(x0, x1, ty_Bool)
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_esEs5(x0, x1, app(ty_Ratio, x2))
new_lt26(x0, x1, ty_Float)
new_esEs6(x0, x1, ty_Int)
new_ltEs22(x0, x1, app(ty_Maybe, x2))
new_ltEs10(Left(x0), Left(x1), ty_Int, x2)
new_ltEs22(x0, x1, app(ty_Ratio, x2))
new_compare29(Char(x0), Char(x1))
new_asAs(True, x0)
new_lt26(x0, x1, ty_Int)
new_esEs4(x0, x1, ty_Float)
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_lt23(x0, x1, ty_Double)
new_lt21(x0, x1, ty_Double)
new_esEs7(x0, x1, ty_Ordering)
new_compare18(LT, EQ)
new_compare18(EQ, LT)
new_esEs33(x0, x1, ty_@0)
new_esEs8(x0, x1, ty_Bool)
new_esEs6(x0, x1, ty_Bool)
new_ltEs6(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs21(Nothing, Just(x0), x1)
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt26(x0, x1, app(app(ty_@2, x2), x3))
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(Just(x0), Just(x1), ty_Integer)
new_esEs33(x0, x1, ty_Integer)
new_esEs19(EQ, GT)
new_esEs19(GT, EQ)
new_primMulNat0(Succ(x0), Succ(x1))
new_compare210(x0, x1, x2, x3, False, x4, x5)
new_esEs34(x0, x1, ty_Char)
new_ltEs5(x0, x1, ty_Float)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare19(Double(x0, x1), Double(x2, x3))
new_esEs37(x0, x1, ty_Ordering)
new_esEs22([], [], x0)
new_ltEs10(Right(x0), Right(x1), x2, ty_@0)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs36(x0, x1, ty_Char)
new_esEs8(x0, x1, ty_Ordering)
new_esEs41(GT)
new_esEs34(x0, x1, app(ty_Ratio, x2))
new_esEs34(x0, x1, app(ty_[], x2))
new_lt10(x0, x1, x2)
new_esEs14(x0, x1, ty_@0)
new_ltEs6(Just(x0), Just(x1), ty_Integer)
new_ltEs22(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, ty_Ordering)
new_lt6(x0, x1, ty_Char)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_compare18(GT, LT)
new_compare18(LT, GT)
new_esEs15(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_compare5(True, True)
new_lt21(x0, x1, ty_Ordering)
new_esEs15(x0, x1, app(ty_Maybe, x2))
new_ltEs23(x0, x1, ty_Double)
new_esEs32(x0, x1, ty_Char)
new_primPlusNat1(Zero, Zero)
new_esEs38(x0, x1, ty_Double)
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_esEs20(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs19(x0, x1, ty_Float)
new_esEs15(x0, x1, app(ty_[], x2))
new_primEqNat0(Succ(x0), Zero)
new_compare31(x0, x1, ty_Float)
new_ltEs23(x0, x1, ty_Int)
new_esEs4(x0, x1, ty_@0)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, ty_Integer)
new_esEs32(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primPlusNat1(Succ(x0), Zero)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs10(x0, x1, ty_Int)
new_ltEs5(x0, x1, app(ty_[], x2))
new_ltEs10(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs14(x0, x1, app(ty_[], x2))
new_compare111(x0, x1, x2, x3, True, x4, x5)
new_ltEs24(x0, x1, app(ty_Maybe, x2))
new_esEs21(Just(x0), Nothing, x1)
new_ltEs19(x0, x1, ty_Ordering)
new_esEs41(EQ)
new_compare7(Right(x0), Right(x1), x2, x3)
new_lt20(x0, x1, ty_Ordering)
new_ltEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt23(x0, x1, ty_Int)
new_esEs36(x0, x1, ty_@0)
new_esEs36(x0, x1, app(app(ty_@2, x2), x3))
new_gt10(x0, x1, x2)
new_esEs10(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(ty_[], x2))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs10(x0, x1, app(ty_[], x2))
new_ltEs10(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs16(LT, GT)
new_ltEs16(GT, LT)
new_lt26(x0, x1, app(ty_Maybe, x2))
new_esEs8(x0, x1, ty_Char)
new_gt15(x0, x1, app(ty_Maybe, x2))
new_esEs4(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, ty_Char)
new_esEs34(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs15(True, False)
new_esEs35(x0, x1, ty_Int)
new_ltEs15(False, True)
new_compare0(:(x0, x1), [], x2)
new_ltEs10(Right(x0), Right(x1), x2, ty_Float)
new_ltEs18(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt5(x0, x1, ty_Integer)
new_compare12(x0, x1, False, x2, x3)
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs20(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_compare0([], :(x0, x1), x2)
new_primCompAux0(x0, EQ)
new_esEs15(x0, x1, app(app(ty_Either, x2), x3))
new_compare13(@0, @0)
new_esEs9(x0, x1, ty_Float)
new_ltEs23(x0, x1, ty_Float)
new_esEs5(x0, x1, ty_Float)
new_esEs34(x0, x1, ty_Double)
new_ltEs22(x0, x1, ty_Bool)
new_lt12(x0, x1)
new_ltEs19(x0, x1, ty_Bool)
new_ltEs20(x0, x1, ty_Bool)
new_esEs4(x0, x1, app(ty_[], x2))
new_esEs37(x0, x1, app(ty_[], x2))
new_esEs14(x0, x1, ty_Int)
new_gt1(x0, x1, x2, x3)
new_esEs33(x0, x1, ty_Float)
new_esEs31(x0, x1, ty_Int)
new_lt23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt8(x0, x1)
new_esEs4(x0, x1, ty_Integer)
new_esEs20(Right(x0), Right(x1), x2, ty_Double)
new_esEs7(x0, x1, ty_Float)
new_ltEs23(x0, x1, app(ty_Ratio, x2))
new_ltEs5(x0, x1, ty_Integer)
new_esEs36(x0, x1, ty_Float)
new_compare6(Just(x0), Just(x1), x2)
new_esEs37(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs22(x0, x1, ty_Ordering)
new_ltEs22(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, ty_Char)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, ty_Char)
new_compare28(x0, x1, True, x2)
new_esEs31(x0, x1, app(ty_[], x2))
new_lt5(x0, x1, ty_Float)
new_compare110(x0, x1, x2, x3, False, x4, x5, x6)
new_esEs20(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs32(x0, x1, app(ty_[], x2))
new_gt15(x0, x1, ty_Bool)
new_lt19(x0, x1, x2, x3)
new_esEs29(x0, x1, ty_Float)
new_esEs21(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs36(x0, x1, app(app(ty_Either, x2), x3))
new_pePe(False, x0)
new_ltEs13(x0, x1)
new_esEs35(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Left(x0), Left(x1), ty_Char, x2)
new_lt22(x0, x1, ty_Double)
new_lt26(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, app(ty_[], x2))
new_compare9(:%(x0, x1), :%(x2, x3), ty_Integer)
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Float)
new_esEs21(Just(x0), Just(x1), ty_Ordering)
new_esEs20(Right(x0), Right(x1), x2, app(ty_[], x3))
new_gt15(x0, x1, ty_@0)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs9(x0, x1, ty_Double)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_esEs35(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs33(x0, x1, app(ty_[], x2))
new_primCmpNat0(Zero, Zero)
new_compare31(x0, x1, ty_Integer)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs24(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(x0, x1, True, x2, x3)
new_compare31(x0, x1, ty_Int)
new_primCompAux0(x0, GT)
new_ltEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs32(x0, x1, ty_Double)
new_esEs7(x0, x1, ty_Bool)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, ty_Float)
new_esEs21(Nothing, Nothing, x0)
new_lt26(x0, x1, ty_Bool)
new_lt23(x0, x1, ty_@0)
new_esEs14(x0, x1, ty_Ordering)
new_gt2(x0, x1)
new_pePe(True, x0)
new_sr0(Integer(x0), Integer(x1))
new_ltEs7(x0, x1)
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs5(x0, x1, ty_Char)
new_esEs30(x0, x1, ty_Float)
new_esEs37(x0, x1, ty_Integer)
new_compare30(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs19(EQ, EQ)
new_compare15(x0, x1, False, x2)
new_esEs41(LT)
new_compare18(EQ, GT)
new_compare18(GT, EQ)
new_lt22(x0, x1, app(ty_[], x2))
new_esEs14(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, ty_@0)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs21(x0, x1, ty_Integer)
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_gt4(x0, x1)
new_compare5(False, False)
new_esEs15(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(LT, GT)
new_esEs19(GT, LT)
new_ltEs23(x0, x1, ty_Ordering)
new_ltEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(x0, x1, ty_Double)
new_gt9(x0, x1)
new_lt6(x0, x1, ty_Ordering)
new_esEs21(Just(x0), Just(x1), ty_Char)
new_lt5(x0, x1, ty_Bool)
new_lt26(x0, x1, ty_Char)
new_esEs15(x0, x1, app(ty_Ratio, x2))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs33(x0, x1, app(app(ty_@2, x2), x3))
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_esEs34(x0, x1, ty_Bool)
new_compare6(Nothing, Nothing, x0)
new_ltEs6(Just(x0), Just(x1), ty_Char)
new_ltEs19(x0, x1, ty_@0)
new_esEs20(Right(x0), Right(x1), x2, ty_Int)
new_lt21(x0, x1, ty_@0)
new_ltEs23(x0, x1, ty_Integer)
new_esEs20(Left(x0), Left(x1), ty_Bool, x2)
new_esEs20(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs21(Just(x0), Just(x1), ty_Int)
new_esEs22(:(x0, x1), [], x2)
new_ltEs24(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Char)
new_esEs15(x0, x1, ty_Float)
new_ltEs10(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs29(x0, x1, ty_Ordering)
new_esEs30(x0, x1, ty_Ordering)
new_ltEs10(Left(x0), Left(x1), ty_Float, x2)
new_gt15(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs6(x0, x1, ty_Double)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs28(x0, x1)
new_esEs38(x0, x1, app(ty_[], x2))
new_esEs14(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_esEs25(Double(x0, x1), Double(x2, x3))
new_ltEs21(x0, x1, ty_Double)
new_esEs20(Right(x0), Right(x1), x2, ty_Char)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_esEs15(x0, x1, ty_Int)
new_esEs38(x0, x1, ty_@0)
new_esEs36(x0, x1, ty_Double)
new_compare14(x0, x1)
new_esEs9(x0, x1, ty_Bool)
new_esEs35(x0, x1, ty_Char)
new_ltEs20(x0, x1, ty_Int)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs24(x0, x1, ty_Int)
new_compare18(EQ, EQ)
new_esEs35(x0, x1, ty_Integer)
new_compare6(Just(x0), Nothing, x1)
new_compare10(x0, x1, False, x2, x3)
new_ltEs10(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs31(x0, x1, ty_Bool)
new_esEs21(Just(x0), Just(x1), ty_Bool)
new_esEs21(Just(x0), Just(x1), app(ty_Ratio, x2))
new_lt21(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(x0, x1, ty_Integer)
new_ltEs6(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, app(ty_[], x2))
new_lt6(x0, x1, app(ty_[], x2))
new_lt22(x0, x1, app(ty_Maybe, x2))
new_primCmpNat0(Succ(x0), Succ(x1))
new_primMulInt(Pos(x0), Pos(x1))
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_ltEs24(x0, x1, ty_Float)
new_compare27(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_esEs6(x0, x1, ty_@0)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitGT2(zzz1043, zzz1044, zzz1045, zzz1046, Branch(zzz10470, zzz10471, zzz10472, zzz10473, zzz10474), zzz1048, True, h, ba) → new_splitGT3(zzz10470, zzz10471, zzz10472, zzz10473, zzz10474, zzz1048, h, ba)
new_splitGT1(zzz1085, zzz1086, zzz1087, zzz1088, zzz1089, zzz1090, True, bd, be) → new_splitGT(zzz1088, zzz1090, bd, be)
new_splitGT(Branch(zzz10470, zzz10471, zzz10472, zzz10473, zzz10474), zzz1048, h, ba) → new_splitGT3(zzz10470, zzz10471, zzz10472, zzz10473, zzz10474, zzz1048, h, ba)
new_splitGT2(zzz1043, zzz1044, zzz1045, zzz1046, zzz1047, zzz1048, False, h, ba) → new_splitGT1(zzz1043, zzz1044, zzz1045, zzz1046, zzz1047, zzz1048, new_lt27(zzz1048, zzz1043, h), h, ba)
new_splitGT3(zzz862, zzz863, zzz864, zzz865, zzz866, zzz867, bb, bc) → new_splitGT2(zzz862, zzz863, zzz864, zzz865, zzz866, zzz867, new_gt16(zzz867, zzz862, bb), bb, bc)

The TRS R consists of the following rules:

new_gt16(zzz867, zzz862, ty_@0) → new_gt3(zzz867, zzz862)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Ordering, bae) → new_ltEs16(zzz8880, zzz8890)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Double) → new_ltEs7(zzz8880, zzz8890)
new_ltEs19(zzz950, zzz953, ty_Ordering) → new_ltEs16(zzz950, zzz953)
new_esEs18(Char(zzz79800), Char(zzz80400)) → new_primEqNat0(zzz79800, zzz80400)
new_esEs30(zzz8880, zzz8890, ty_Double) → new_esEs25(zzz8880, zzz8890)
new_lt27(zzz1048, zzz1043, app(ty_Ratio, eeh)) → new_lt18(zzz1048, zzz1043, eeh)
new_ltEs24(zzz8881, zzz8891, app(app(app(ty_@3, gaf), gag), gah)) → new_ltEs4(zzz8881, zzz8891, gaf, gag, gah)
new_lt12(zzz798, zzz804) → new_esEs12(new_compare16(zzz798, zzz804))
new_esEs8(zzz7981, zzz8041, ty_Double) → new_esEs25(zzz7981, zzz8041)
new_ltEs21(zzz888, zzz889, app(ty_[], bac)) → new_ltEs9(zzz888, zzz889, bac)
new_esEs5(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_lt14(zzz798, zzz804) → new_esEs12(new_compare13(zzz798, zzz804))
new_compare11(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, True, zzz1033, ccb, ccc, ccd) → new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, True, ccb, ccc, ccd)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_esEs21(Just(zzz79800), Just(zzz80400), app(app(app(ty_@3, bg), bh), ca)) → new_esEs16(zzz79800, zzz80400, bg, bh, ca)
new_esEs32(zzz79801, zzz80401, ty_@0) → new_esEs27(zzz79801, zzz80401)
new_esEs32(zzz79801, zzz80401, app(app(app(ty_@3, dfc), dfd), dfe)) → new_esEs16(zzz79801, zzz80401, dfc, dfd, dfe)
new_esEs37(zzz961, zzz963, app(app(ty_@2, caf), cag)) → new_esEs13(zzz961, zzz963, caf, cag)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_Float) → new_ltEs11(zzz8880, zzz8890)
new_lt21(zzz948, zzz951, app(ty_Maybe, ecf)) → new_lt7(zzz948, zzz951, ecf)
new_ltEs21(zzz888, zzz889, app(ty_Maybe, bab)) → new_ltEs6(zzz888, zzz889, bab)
new_ltEs19(zzz950, zzz953, ty_Float) → new_ltEs11(zzz950, zzz953)
new_ltEs6(Nothing, Just(zzz8890), bab) → True
new_esEs32(zzz79801, zzz80401, ty_Integer) → new_esEs26(zzz79801, zzz80401)
new_esEs9(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_ltEs20(zzz907, zzz908, ty_Double) → new_ltEs7(zzz907, zzz908)
new_esEs36(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_lt11(zzz798, zzz804, ga, gb) → new_esEs12(new_compare7(zzz798, zzz804, ga, gb))
new_esEs29(zzz8881, zzz8891, app(ty_[], cge)) → new_esEs22(zzz8881, zzz8891, cge)
new_esEs32(zzz79801, zzz80401, app(app(ty_Either, dfg), dfh)) → new_esEs20(zzz79801, zzz80401, dfg, dfh)
new_compare16(Float(zzz7980, zzz7981), Float(zzz8040, zzz8041)) → new_compare14(new_sr(zzz7980, zzz8040), new_sr(zzz7981, zzz8041))
new_esEs38(zzz8880, zzz8890, ty_Bool) → new_esEs23(zzz8880, zzz8890)
new_esEs11(zzz7980, zzz8040, app(ty_Ratio, fhc)) → new_esEs17(zzz7980, zzz8040, fhc)
new_esEs10(zzz7981, zzz8041, app(app(app(ty_@3, fff), ffg), ffh)) → new_esEs16(zzz7981, zzz8041, fff, ffg, ffh)
new_esEs4(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_esEs14(zzz79801, zzz80401, app(app(ty_Either, dh), ea)) → new_esEs20(zzz79801, zzz80401, dh, ea)
new_ltEs19(zzz950, zzz953, ty_Integer) → new_ltEs14(zzz950, zzz953)
new_esEs34(zzz949, zzz952, app(ty_Maybe, ebd)) → new_esEs21(zzz949, zzz952, ebd)
new_gt16(zzz867, zzz862, ty_Float) → new_gt8(zzz867, zzz862)
new_esEs4(zzz7980, zzz8040, app(app(ty_Either, bga), bfa)) → new_esEs20(zzz7980, zzz8040, bga, bfa)
new_esEs38(zzz8880, zzz8890, app(ty_[], gbe)) → new_esEs22(zzz8880, zzz8890, gbe)
new_lt5(zzz8881, zzz8891, app(app(app(ty_@3, cgh), cha), chb)) → new_lt17(zzz8881, zzz8891, cgh, cha, chb)
new_ltEs20(zzz907, zzz908, app(app(ty_@2, he), hf)) → new_ltEs18(zzz907, zzz908, he, hf)
new_esEs5(zzz7980, zzz8040, app(ty_Ratio, dbc)) → new_esEs17(zzz7980, zzz8040, dbc)
new_esEs14(zzz79801, zzz80401, ty_Double) → new_esEs25(zzz79801, zzz80401)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, app(app(ty_@2, ffc), ffd)) → new_ltEs18(zzz8880, zzz8890, ffc, ffd)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Float, bae) → new_ltEs11(zzz8880, zzz8890)
new_lt5(zzz8881, zzz8891, ty_Integer) → new_lt15(zzz8881, zzz8891)
new_esEs4(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_ltEs23(zzz962, zzz964, ty_Float) → new_ltEs11(zzz962, zzz964)
new_esEs15(zzz79800, zzz80400, app(app(app(ty_@3, ef), eg), eh)) → new_esEs16(zzz79800, zzz80400, ef, eg, eh)
new_ltEs20(zzz907, zzz908, app(ty_[], gf)) → new_ltEs9(zzz907, zzz908, gf)
new_lt6(zzz8880, zzz8890, app(app(ty_@2, daf), dag)) → new_lt19(zzz8880, zzz8890, daf, dag)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Float) → new_ltEs11(zzz8880, zzz8890)
new_compare18(GT, EQ) → GT
new_esEs38(zzz8880, zzz8890, app(app(ty_Either, gbf), gbg)) → new_esEs20(zzz8880, zzz8890, gbf, gbg)
new_esEs7(zzz7982, zzz8042, app(ty_[], egb)) → new_esEs22(zzz7982, zzz8042, egb)
new_compare31(zzz7980, zzz8040, ty_Char) → new_compare29(zzz7980, zzz8040)
new_ltEs22(zzz900, zzz901, app(ty_Ratio, bec)) → new_ltEs17(zzz900, zzz901, bec)
new_esEs4(zzz7980, zzz8040, app(app(app(ty_@3, cee), cef), ceg)) → new_esEs16(zzz7980, zzz8040, cee, cef, ceg)
new_compare29(Char(zzz7980), Char(zzz8040)) → new_primCmpNat0(zzz7980, zzz8040)
new_lt27(zzz1048, zzz1043, app(app(ty_@2, efa), efb)) → new_lt19(zzz1048, zzz1043, efa, efb)
new_compare110(zzz1009, zzz1010, zzz1011, zzz1012, True, zzz1014, bch, bda) → new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, True, bch, bda)
new_ltEs23(zzz962, zzz964, app(app(ty_Either, cbb), cbc)) → new_ltEs10(zzz962, zzz964, cbb, cbc)
new_esEs36(zzz79800, zzz80400, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_esEs33(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_lt20(zzz949, zzz952, ty_Float) → new_lt12(zzz949, zzz952)
new_lt9(zzz798, zzz804) → new_esEs12(new_compare14(zzz798, zzz804))
new_ltEs5(zzz8882, zzz8892, ty_Bool) → new_ltEs15(zzz8882, zzz8892)
new_compare30(@2(zzz7980, zzz7981), @2(zzz8040, zzz8041), cch, cda) → new_compare210(zzz7980, zzz7981, zzz8040, zzz8041, new_asAs(new_esEs11(zzz7980, zzz8040, cch), new_esEs10(zzz7981, zzz8041, cda)), cch, cda)
new_ltEs24(zzz8881, zzz8891, app(ty_Ratio, gba)) → new_ltEs17(zzz8881, zzz8891, gba)
new_lt23(zzz8880, zzz8890, ty_Bool) → new_lt4(zzz8880, zzz8890)
new_lt20(zzz949, zzz952, ty_Bool) → new_lt4(zzz949, zzz952)
new_pePe(False, zzz1074) → zzz1074
new_esEs19(GT, GT) → True
new_esEs35(zzz948, zzz951, app(app(ty_@2, edf), edg)) → new_esEs13(zzz948, zzz951, edf, edg)
new_ltEs24(zzz8881, zzz8891, ty_Integer) → new_ltEs14(zzz8881, zzz8891)
new_lt23(zzz8880, zzz8890, app(ty_Maybe, gbd)) → new_lt7(zzz8880, zzz8890, gbd)
new_lt21(zzz948, zzz951, app(ty_Ratio, ede)) → new_lt18(zzz948, zzz951, ede)
new_compare5(False, False) → EQ
new_compare31(zzz7980, zzz8040, ty_@0) → new_compare13(zzz7980, zzz8040)
new_esEs34(zzz949, zzz952, app(ty_Ratio, ecc)) → new_esEs17(zzz949, zzz952, ecc)
new_gt16(zzz867, zzz862, ty_Char) → new_gt9(zzz867, zzz862)
new_esEs31(zzz79802, zzz80402, app(app(ty_Either, dee), def)) → new_esEs20(zzz79802, zzz80402, dee, def)
new_ltEs22(zzz900, zzz901, ty_Ordering) → new_ltEs16(zzz900, zzz901)
new_esEs8(zzz7981, zzz8041, app(app(app(ty_@3, ege), egf), egg)) → new_esEs16(zzz7981, zzz8041, ege, egf, egg)
new_esEs33(zzz79800, zzz80400, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_lt5(zzz8881, zzz8891, ty_Char) → new_lt13(zzz8881, zzz8891)
new_esEs12(GT) → False
new_esEs9(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_compare31(zzz7980, zzz8040, ty_Int) → new_compare14(zzz7980, zzz8040)
new_ltEs19(zzz950, zzz953, ty_Int) → new_ltEs8(zzz950, zzz953)
new_compare26(zzz907, zzz908, False, gc, gd) → new_compare12(zzz907, zzz908, new_ltEs20(zzz907, zzz908, gd), gc, gd)
new_ltEs24(zzz8881, zzz8891, ty_Int) → new_ltEs8(zzz8881, zzz8891)
new_esEs9(zzz7980, zzz8040, app(app(app(ty_@3, ehg), ehh), faa)) → new_esEs16(zzz7980, zzz8040, ehg, ehh, faa)
new_esEs34(zzz949, zzz952, app(app(app(ty_@3, ebh), eca), ecb)) → new_esEs16(zzz949, zzz952, ebh, eca, ecb)
new_esEs33(zzz79800, zzz80400, app(app(app(ty_@3, dge), dgf), dgg)) → new_esEs16(zzz79800, zzz80400, dge, dgf, dgg)
new_lt22(zzz961, zzz963, ty_Float) → new_lt12(zzz961, zzz963)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_ltEs19(zzz950, zzz953, app(app(ty_Either, ead), eae)) → new_ltEs10(zzz950, zzz953, ead, eae)
new_esEs24(Float(zzz79800, zzz79801), Float(zzz80400, zzz80401)) → new_esEs28(new_sr(zzz79800, zzz80400), new_sr(zzz79801, zzz80401))
new_esEs21(Just(zzz79800), Just(zzz80400), app(ty_Maybe, ce)) → new_esEs21(zzz79800, zzz80400, ce)
new_esEs21(Nothing, Nothing, bf) → True
new_pePe(True, zzz1074) → True
new_compare0([], [], bcg) → EQ
new_primEqNat0(Zero, Zero) → True
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_Ordering) → new_ltEs16(zzz8880, zzz8890)
new_esEs5(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Char, bfa) → new_esEs18(zzz79800, zzz80400)
new_esEs32(zzz79801, zzz80401, app(ty_[], dgb)) → new_esEs22(zzz79801, zzz80401, dgb)
new_esEs12(EQ) → False
new_ltEs20(zzz907, zzz908, ty_Integer) → new_ltEs14(zzz907, zzz908)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, app(ty_Maybe, bgh)) → new_esEs21(zzz79800, zzz80400, bgh)
new_esEs23(False, False) → True
new_ltEs16(EQ, LT) → False
new_esEs6(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_ltEs23(zzz962, zzz964, ty_Integer) → new_ltEs14(zzz962, zzz964)
new_lt6(zzz8880, zzz8890, ty_Int) → new_lt9(zzz8880, zzz8890)
new_lt27(zzz1048, zzz1043, app(ty_Maybe, eea)) → new_lt7(zzz1048, zzz1043, eea)
new_esEs30(zzz8880, zzz8890, app(app(app(ty_@3, dab), dac), dad)) → new_esEs16(zzz8880, zzz8890, dab, dac, dad)
new_esEs31(zzz79802, zzz80402, ty_Int) → new_esEs28(zzz79802, zzz80402)
new_ltEs16(GT, EQ) → False
new_esEs38(zzz8880, zzz8890, ty_Char) → new_esEs18(zzz8880, zzz8890)
new_esEs37(zzz961, zzz963, app(ty_Maybe, bhf)) → new_esEs21(zzz961, zzz963, bhf)
new_esEs36(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_compare12(zzz991, zzz992, False, fba, fbb) → GT
new_esEs7(zzz7982, zzz8042, app(ty_Maybe, ega)) → new_esEs21(zzz7982, zzz8042, ega)
new_gt16(zzz867, zzz862, app(ty_[], bbe)) → new_gt5(zzz867, zzz862, bbe)
new_esEs30(zzz8880, zzz8890, app(ty_[], chg)) → new_esEs22(zzz8880, zzz8890, chg)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_@0) → new_ltEs13(zzz8880, zzz8890)
new_esEs39(zzz79801, zzz80401, ty_Integer) → new_esEs26(zzz79801, zzz80401)
new_esEs21(Just(zzz79800), Just(zzz80400), app(app(ty_@2, cg), da)) → new_esEs13(zzz79800, zzz80400, cg, da)
new_esEs32(zzz79801, zzz80401, ty_Double) → new_esEs25(zzz79801, zzz80401)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_ltEs19(zzz950, zzz953, ty_Bool) → new_ltEs15(zzz950, zzz953)
new_compare210(zzz961, zzz962, zzz963, zzz964, False, bhd, bhe) → new_compare110(zzz961, zzz962, zzz963, zzz964, new_lt22(zzz961, zzz963, bhd), new_asAs(new_esEs37(zzz961, zzz963, bhd), new_ltEs23(zzz962, zzz964, bhe)), bhd, bhe)
new_lt6(zzz8880, zzz8890, app(app(ty_Either, chh), daa)) → new_lt11(zzz8880, zzz8890, chh, daa)
new_lt23(zzz8880, zzz8890, app(ty_Ratio, gcc)) → new_lt18(zzz8880, zzz8890, gcc)
new_esEs7(zzz7982, zzz8042, ty_Bool) → new_esEs23(zzz7982, zzz8042)
new_esEs29(zzz8881, zzz8891, app(app(ty_@2, chd), che)) → new_esEs13(zzz8881, zzz8891, chd, che)
new_gt16(zzz867, zzz862, app(app(ty_Either, bbf), bbg)) → new_gt1(zzz867, zzz862, bbf, bbg)
new_ltEs20(zzz907, zzz908, app(app(app(ty_@3, ha), hb), hc)) → new_ltEs4(zzz907, zzz908, ha, hb, hc)
new_primEqInt(Neg(Succ(zzz798000)), Neg(Succ(zzz804000))) → new_primEqNat0(zzz798000, zzz804000)
new_esEs4(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_compare5(True, True) → EQ
new_compare8(@3(zzz7980, zzz7981, zzz7982), @3(zzz8040, zzz8041, zzz8042), ddf, ddg, ddh) → new_compare27(zzz7980, zzz7981, zzz7982, zzz8040, zzz8041, zzz8042, new_asAs(new_esEs9(zzz7980, zzz8040, ddf), new_asAs(new_esEs8(zzz7981, zzz8041, ddg), new_esEs7(zzz7982, zzz8042, ddh))), ddf, ddg, ddh)
new_esEs29(zzz8881, zzz8891, app(app(app(ty_@3, cgh), cha), chb)) → new_esEs16(zzz8881, zzz8891, cgh, cha, chb)
new_esEs19(EQ, EQ) → True
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)
new_ltEs21(zzz888, zzz889, ty_Int) → new_ltEs8(zzz888, zzz889)
new_esEs6(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_lt27(zzz1048, zzz1043, ty_@0) → new_lt14(zzz1048, zzz1043)
new_lt22(zzz961, zzz963, ty_Double) → new_lt8(zzz961, zzz963)
new_lt6(zzz8880, zzz8890, app(app(app(ty_@3, dab), dac), dad)) → new_lt17(zzz8880, zzz8890, dab, dac, dad)
new_esEs37(zzz961, zzz963, ty_@0) → new_esEs27(zzz961, zzz963)
new_esEs10(zzz7981, zzz8041, app(ty_Maybe, fgd)) → new_esEs21(zzz7981, zzz8041, fgd)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs35(zzz948, zzz951, ty_Ordering) → new_esEs19(zzz948, zzz951)
new_esEs8(zzz7981, zzz8041, app(app(ty_Either, eha), ehb)) → new_esEs20(zzz7981, zzz8041, eha, ehb)
new_primCompAux0(zzz894, GT) → GT
new_compare26(zzz907, zzz908, True, gc, gd) → EQ
new_esEs36(zzz79800, zzz80400, app(app(ty_Either, fcc), fcd)) → new_esEs20(zzz79800, zzz80400, fcc, fcd)
new_fsEs(zzz1069) → new_not(new_esEs19(zzz1069, GT))
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs4(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_esEs7(zzz7982, zzz8042, app(app(ty_@2, egc), egd)) → new_esEs13(zzz7982, zzz8042, egc, egd)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_esEs9(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_ltEs5(zzz8882, zzz8892, app(ty_Ratio, cga)) → new_ltEs17(zzz8882, zzz8892, cga)
new_compare14(zzz798, zzz804) → new_primCmpInt(zzz798, zzz804)
new_lt19(zzz798, zzz804, cch, cda) → new_esEs12(new_compare30(zzz798, zzz804, cch, cda))
new_ltEs19(zzz950, zzz953, ty_Double) → new_ltEs7(zzz950, zzz953)
new_esEs11(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_lt21(zzz948, zzz951, ty_Char) → new_lt13(zzz948, zzz951)
new_esEs7(zzz7982, zzz8042, ty_Float) → new_esEs24(zzz7982, zzz8042)
new_esEs19(EQ, LT) → False
new_esEs19(LT, EQ) → False
new_esEs30(zzz8880, zzz8890, app(app(ty_@2, daf), dag)) → new_esEs13(zzz8880, zzz8890, daf, dag)
new_ltEs24(zzz8881, zzz8891, ty_@0) → new_ltEs13(zzz8881, zzz8891)
new_esEs34(zzz949, zzz952, ty_Char) → new_esEs18(zzz949, zzz952)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Bool, bfa) → new_esEs23(zzz79800, zzz80400)
new_primEqInt(Pos(Succ(zzz798000)), Pos(Succ(zzz804000))) → new_primEqNat0(zzz798000, zzz804000)
new_esEs31(zzz79802, zzz80402, ty_Bool) → new_esEs23(zzz79802, zzz80402)
new_esEs30(zzz8880, zzz8890, ty_@0) → new_esEs27(zzz8880, zzz8890)
new_esEs21(Just(zzz79800), Just(zzz80400), app(ty_[], cf)) → new_esEs22(zzz79800, zzz80400, cf)
new_esEs14(zzz79801, zzz80401, app(app(app(ty_@3, dd), de), df)) → new_esEs16(zzz79801, zzz80401, dd, de, df)
new_ltEs21(zzz888, zzz889, ty_Float) → new_ltEs11(zzz888, zzz889)
new_ltEs14(zzz888, zzz889) → new_fsEs(new_compare17(zzz888, zzz889))
new_esEs33(zzz79800, zzz80400, app(app(ty_@2, dhe), dhf)) → new_esEs13(zzz79800, zzz80400, dhe, dhf)
new_esEs9(zzz7980, zzz8040, app(app(ty_Either, fac), fad)) → new_esEs20(zzz7980, zzz8040, fac, fad)
new_ltEs5(zzz8882, zzz8892, app(app(ty_@2, cgb), cgc)) → new_ltEs18(zzz8882, zzz8892, cgb, cgc)
new_ltEs24(zzz8881, zzz8891, ty_Float) → new_ltEs11(zzz8881, zzz8891)
new_primEqNat0(Succ(zzz798000), Succ(zzz804000)) → new_primEqNat0(zzz798000, zzz804000)
new_esEs25(Double(zzz79800, zzz79801), Double(zzz80400, zzz80401)) → new_esEs28(new_sr(zzz79800, zzz80400), new_sr(zzz79801, zzz80401))
new_lt22(zzz961, zzz963, ty_Char) → new_lt13(zzz961, zzz963)
new_esEs8(zzz7981, zzz8041, ty_@0) → new_esEs27(zzz7981, zzz8041)
new_gt16(zzz867, zzz862, ty_Double) → new_gt4(zzz867, zzz862)
new_lt23(zzz8880, zzz8890, ty_Double) → new_lt8(zzz8880, zzz8890)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_esEs37(zzz961, zzz963, ty_Int) → new_esEs28(zzz961, zzz963)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, app(app(ty_Either, fee), fef)) → new_ltEs10(zzz8880, zzz8890, fee, fef)
new_lt27(zzz1048, zzz1043, ty_Float) → new_lt12(zzz1048, zzz1043)
new_ltEs5(zzz8882, zzz8892, ty_Int) → new_ltEs8(zzz8882, zzz8892)
new_esEs35(zzz948, zzz951, ty_Bool) → new_esEs23(zzz948, zzz951)
new_esEs5(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_ltEs6(Just(zzz8880), Nothing, bab) → False
new_compare18(GT, LT) → GT
new_lt5(zzz8881, zzz8891, app(app(ty_Either, cgf), cgg)) → new_lt11(zzz8881, zzz8891, cgf, cgg)
new_esEs30(zzz8880, zzz8890, ty_Float) → new_esEs24(zzz8880, zzz8890)
new_compare31(zzz7980, zzz8040, app(app(app(ty_@3, cdf), cdg), cdh)) → new_compare8(zzz7980, zzz8040, cdf, cdg, cdh)
new_gt16(zzz867, zzz862, ty_Bool) → new_gt2(zzz867, zzz862)
new_esEs29(zzz8881, zzz8891, ty_Integer) → new_esEs26(zzz8881, zzz8891)
new_ltEs24(zzz8881, zzz8891, app(ty_Maybe, gab)) → new_ltEs6(zzz8881, zzz8891, gab)
new_lt21(zzz948, zzz951, app(ty_[], ecg)) → new_lt10(zzz948, zzz951, ecg)
new_ltEs21(zzz888, zzz889, ty_Ordering) → new_ltEs16(zzz888, zzz889)
new_compare31(zzz7980, zzz8040, app(ty_Ratio, cea)) → new_compare9(zzz7980, zzz8040, cea)
new_compare31(zzz7980, zzz8040, app(ty_Maybe, cdb)) → new_compare6(zzz7980, zzz8040, cdb)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_Integer) → new_ltEs14(zzz8880, zzz8890)
new_lt20(zzz949, zzz952, ty_Char) → new_lt13(zzz949, zzz952)
new_compare28(zzz888, zzz889, False, baa) → new_compare15(zzz888, zzz889, new_ltEs21(zzz888, zzz889, baa), baa)
new_esEs9(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_esEs36(zzz79800, zzz80400, app(app(app(ty_@3, fbg), fbh), fca)) → new_esEs16(zzz79800, zzz80400, fbg, fbh, fca)
new_esEs10(zzz7981, zzz8041, ty_Char) → new_esEs18(zzz7981, zzz8041)
new_esEs28(zzz7980, zzz8040) → new_primEqInt(zzz7980, zzz8040)
new_esEs26(Integer(zzz79800), Integer(zzz80400)) → new_primEqInt(zzz79800, zzz80400)
new_esEs10(zzz7981, zzz8041, ty_Bool) → new_esEs23(zzz7981, zzz8041)
new_gt11(zzz832, zzz838) → new_esEs41(new_compare14(zzz832, zzz838))
new_lt5(zzz8881, zzz8891, app(ty_Ratio, chc)) → new_lt18(zzz8881, zzz8891, chc)
new_esEs32(zzz79801, zzz80401, app(ty_Maybe, dga)) → new_esEs21(zzz79801, zzz80401, dga)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Ordering, bfa) → new_esEs19(zzz79800, zzz80400)
new_gt3(zzz832, zzz838) → new_esEs41(new_compare13(zzz832, zzz838))
new_esEs33(zzz79800, zzz80400, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_esEs35(zzz948, zzz951, app(ty_Ratio, ede)) → new_esEs17(zzz948, zzz951, ede)
new_primEqInt(Pos(Zero), Neg(Succ(zzz804000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(zzz804000))) → False
new_esEs14(zzz79801, zzz80401, app(app(ty_@2, ed), ee)) → new_esEs13(zzz79801, zzz80401, ed, ee)
new_esEs30(zzz8880, zzz8890, app(ty_Maybe, chf)) → new_esEs21(zzz8880, zzz8890, chf)
new_esEs30(zzz8880, zzz8890, ty_Bool) → new_esEs23(zzz8880, zzz8890)
new_esEs30(zzz8880, zzz8890, app(ty_Ratio, dae)) → new_esEs17(zzz8880, zzz8890, dae)
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_esEs33(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs6(zzz7980, zzz8040, app(ty_Maybe, dch)) → new_esEs21(zzz7980, zzz8040, dch)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, app(app(app(ty_@3, bgb), bgc), bgd)) → new_esEs16(zzz79800, zzz80400, bgb, bgc, bgd)
new_ltEs16(EQ, EQ) → True
new_gt12(zzz832, zzz838, fbd, fbe, fbf) → new_esEs41(new_compare8(zzz832, zzz838, fbd, fbe, fbf))
new_esEs20(Left(zzz79800), Left(zzz80400), app(ty_[], bff), bfa) → new_esEs22(zzz79800, zzz80400, bff)
new_primCompAux0(zzz894, LT) → LT
new_esEs33(zzz79800, zzz80400, app(app(ty_Either, dha), dhb)) → new_esEs20(zzz79800, zzz80400, dha, dhb)
new_compare18(EQ, GT) → LT
new_not(False) → True
new_esEs8(zzz7981, zzz8041, ty_Float) → new_esEs24(zzz7981, zzz8041)
new_lt21(zzz948, zzz951, app(app(ty_Either, ech), eda)) → new_lt11(zzz948, zzz951, ech, eda)
new_ltEs21(zzz888, zzz889, app(app(ty_@2, bbb), bbc)) → new_ltEs18(zzz888, zzz889, bbb, bbc)
new_esEs21(Just(zzz79800), Just(zzz80400), app(app(ty_Either, cc), cd)) → new_esEs20(zzz79800, zzz80400, cc, cd)
new_ltEs7(zzz888, zzz889) → new_fsEs(new_compare19(zzz888, zzz889))
new_esEs35(zzz948, zzz951, app(app(ty_Either, ech), eda)) → new_esEs20(zzz948, zzz951, ech, eda)
new_esEs37(zzz961, zzz963, app(ty_[], bhg)) → new_esEs22(zzz961, zzz963, bhg)
new_ltEs23(zzz962, zzz964, app(ty_[], cba)) → new_ltEs9(zzz962, zzz964, cba)
new_lt20(zzz949, zzz952, app(ty_[], ebe)) → new_lt10(zzz949, zzz952, ebe)
new_esEs10(zzz7981, zzz8041, ty_Double) → new_esEs25(zzz7981, zzz8041)
new_ltEs21(zzz888, zzz889, ty_Char) → new_ltEs12(zzz888, zzz889)
new_gt6(zzz832, zzz838, ccf, ccg) → new_esEs41(new_compare30(zzz832, zzz838, ccf, ccg))
new_compare0(:(zzz7980, zzz7981), [], bcg) → GT
new_esEs6(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_esEs14(zzz79801, zzz80401, ty_Char) → new_esEs18(zzz79801, zzz80401)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, app(ty_[], bha)) → new_esEs22(zzz79800, zzz80400, bha)
new_lt6(zzz8880, zzz8890, app(ty_[], chg)) → new_lt10(zzz8880, zzz8890, chg)
new_esEs4(zzz7980, zzz8040, app(app(ty_@2, db), dc)) → new_esEs13(zzz7980, zzz8040, db, dc)
new_ltEs22(zzz900, zzz901, ty_Int) → new_ltEs8(zzz900, zzz901)
new_esEs34(zzz949, zzz952, app(app(ty_Either, ebf), ebg)) → new_esEs20(zzz949, zzz952, ebf, ebg)
new_esEs10(zzz7981, zzz8041, app(app(ty_Either, fgb), fgc)) → new_esEs20(zzz7981, zzz8041, fgb, fgc)
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_esEs37(zzz961, zzz963, app(app(app(ty_@3, cab), cac), cad)) → new_esEs16(zzz961, zzz963, cab, cac, cad)
new_esEs6(zzz7980, zzz8040, app(ty_[], dda)) → new_esEs22(zzz7980, zzz8040, dda)
new_esEs7(zzz7982, zzz8042, ty_Integer) → new_esEs26(zzz7982, zzz8042)
new_primEqNat0(Zero, Succ(zzz804000)) → False
new_primEqNat0(Succ(zzz798000), Zero) → False
new_esEs29(zzz8881, zzz8891, app(ty_Ratio, chc)) → new_esEs17(zzz8881, zzz8891, chc)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_Char) → new_ltEs12(zzz8880, zzz8890)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_compare25(zzz900, zzz901, True, bdb, bdc) → EQ
new_lt13(zzz798, zzz804) → new_esEs12(new_compare29(zzz798, zzz804))
new_esEs21(Just(zzz79800), Just(zzz80400), app(ty_Ratio, cb)) → new_esEs17(zzz79800, zzz80400, cb)
new_compare31(zzz7980, zzz8040, app(app(ty_@2, ceb), cec)) → new_compare30(zzz7980, zzz8040, ceb, cec)
new_esEs36(zzz79800, zzz80400, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_gt7(zzz832, zzz838) → new_esEs41(new_compare18(zzz832, zzz838))
new_esEs15(zzz79800, zzz80400, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Int, bfa) → new_esEs28(zzz79800, zzz80400)
new_ltEs20(zzz907, zzz908, ty_Ordering) → new_ltEs16(zzz907, zzz908)
new_ltEs20(zzz907, zzz908, app(app(ty_Either, gg), gh)) → new_ltEs10(zzz907, zzz908, gg, gh)
new_lt20(zzz949, zzz952, app(app(ty_Either, ebf), ebg)) → new_lt11(zzz949, zzz952, ebf, ebg)
new_lt27(zzz1048, zzz1043, ty_Ordering) → new_lt16(zzz1048, zzz1043)
new_esEs7(zzz7982, zzz8042, ty_@0) → new_esEs27(zzz7982, zzz8042)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_esEs30(zzz8880, zzz8890, ty_Char) → new_esEs18(zzz8880, zzz8890)
new_compare0(:(zzz7980, zzz7981), :(zzz8040, zzz8041), bcg) → new_primCompAux1(zzz7980, zzz8040, new_compare0(zzz7981, zzz8041, bcg), bcg)
new_esEs20(Left(zzz79800), Left(zzz80400), app(app(app(ty_@3, bef), beg), beh), bfa) → new_esEs16(zzz79800, zzz80400, bef, beg, beh)
new_esEs30(zzz8880, zzz8890, ty_Int) → new_esEs28(zzz8880, zzz8890)
new_esEs39(zzz79801, zzz80401, ty_Int) → new_esEs28(zzz79801, zzz80401)
new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, False, ccb, ccc, ccd) → GT
new_esEs19(LT, LT) → True
new_lt22(zzz961, zzz963, ty_Integer) → new_lt15(zzz961, zzz963)
new_compare11(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, False, zzz1033, ccb, ccc, ccd) → new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, zzz1033, ccb, ccc, ccd)
new_ltEs23(zzz962, zzz964, ty_Ordering) → new_ltEs16(zzz962, zzz964)
new_esEs4(zzz7980, zzz8040, app(ty_Ratio, ceh)) → new_esEs17(zzz7980, zzz8040, ceh)
new_esEs10(zzz7981, zzz8041, app(ty_[], fge)) → new_esEs22(zzz7981, zzz8041, fge)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_ltEs19(zzz950, zzz953, app(app(ty_@2, ebb), ebc)) → new_ltEs18(zzz950, zzz953, ebb, ebc)
new_esEs36(zzz79800, zzz80400, app(app(ty_@2, fcg), fch)) → new_esEs13(zzz79800, zzz80400, fcg, fch)
new_primCompAux1(zzz7980, zzz8040, zzz883, bcg) → new_primCompAux0(zzz883, new_compare31(zzz7980, zzz8040, bcg))
new_compare31(zzz7980, zzz8040, ty_Integer) → new_compare17(zzz7980, zzz8040)
new_compare6(Just(zzz7980), Nothing, ced) → GT
new_esEs8(zzz7981, zzz8041, ty_Bool) → new_esEs23(zzz7981, zzz8041)
new_lt20(zzz949, zzz952, app(ty_Maybe, ebd)) → new_lt7(zzz949, zzz952, ebd)
new_compare5(False, True) → LT
new_asAs(False, zzz1000) → False
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, app(app(app(ty_@3, feg), feh), ffa)) → new_ltEs4(zzz8880, zzz8890, feg, feh, ffa)
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_esEs36(zzz79800, zzz80400, app(ty_Maybe, fce)) → new_esEs21(zzz79800, zzz80400, fce)
new_esEs31(zzz79802, zzz80402, ty_Double) → new_esEs25(zzz79802, zzz80402)
new_esEs5(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_ltEs23(zzz962, zzz964, app(ty_Maybe, cah)) → new_ltEs6(zzz962, zzz964, cah)
new_ltEs22(zzz900, zzz901, app(app(ty_@2, bed), bee)) → new_ltEs18(zzz900, zzz901, bed, bee)
new_esEs14(zzz79801, zzz80401, ty_@0) → new_esEs27(zzz79801, zzz80401)
new_esEs21(Just(zzz79800), Nothing, bf) → False
new_esEs21(Nothing, Just(zzz80400), bf) → False
new_lt5(zzz8881, zzz8891, app(app(ty_@2, chd), che)) → new_lt19(zzz8881, zzz8891, chd, che)
new_esEs29(zzz8881, zzz8891, ty_Double) → new_esEs25(zzz8881, zzz8891)
new_esEs32(zzz79801, zzz80401, ty_Bool) → new_esEs23(zzz79801, zzz80401)
new_compare17(Integer(zzz7980), Integer(zzz8040)) → new_primCmpInt(zzz7980, zzz8040)
new_gt16(zzz867, zzz862, app(app(app(ty_@3, bbh), bca), bcb)) → new_gt12(zzz867, zzz862, bbh, bca, bcb)
new_gt16(zzz867, zzz862, ty_Integer) → new_gt0(zzz867, zzz862)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Int, bae) → new_ltEs8(zzz8880, zzz8890)
new_esEs10(zzz7981, zzz8041, ty_@0) → new_esEs27(zzz7981, zzz8041)
new_lt23(zzz8880, zzz8890, app(app(app(ty_@3, gbh), gca), gcb)) → new_lt17(zzz8880, zzz8890, gbh, gca, gcb)
new_compare13(@0, @0) → EQ
new_compare31(zzz7980, zzz8040, app(ty_[], cdc)) → new_compare0(zzz7980, zzz8040, cdc)
new_esEs35(zzz948, zzz951, app(ty_[], ecg)) → new_esEs22(zzz948, zzz951, ecg)
new_esEs6(zzz7980, zzz8040, app(ty_Ratio, dce)) → new_esEs17(zzz7980, zzz8040, dce)
new_compare31(zzz7980, zzz8040, app(app(ty_Either, cdd), cde)) → new_compare7(zzz7980, zzz8040, cdd, cde)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Integer) → new_ltEs14(zzz8880, zzz8890)
new_ltEs24(zzz8881, zzz8891, app(ty_[], gac)) → new_ltEs9(zzz8881, zzz8891, gac)
new_ltEs23(zzz962, zzz964, ty_Char) → new_ltEs12(zzz962, zzz964)
new_lt5(zzz8881, zzz8891, app(ty_[], cge)) → new_lt10(zzz8881, zzz8891, cge)
new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, False, bch, bda) → GT
new_lt20(zzz949, zzz952, app(ty_Ratio, ecc)) → new_lt18(zzz949, zzz952, ecc)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, app(ty_Ratio, ffb)) → new_ltEs17(zzz8880, zzz8890, ffb)
new_lt27(zzz1048, zzz1043, ty_Integer) → new_lt15(zzz1048, zzz1043)
new_lt27(zzz1048, zzz1043, ty_Double) → new_lt8(zzz1048, zzz1043)
new_ltEs6(Nothing, Nothing, bab) → True
new_compare7(Right(zzz7980), Left(zzz8040), ga, gb) → GT
new_esEs34(zzz949, zzz952, ty_Integer) → new_esEs26(zzz949, zzz952)
new_esEs40(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_Bool) → new_ltEs15(zzz8880, zzz8890)
new_esEs6(zzz7980, zzz8040, app(app(ty_Either, dcf), dcg)) → new_esEs20(zzz7980, zzz8040, dcf, dcg)
new_lt20(zzz949, zzz952, ty_Ordering) → new_lt16(zzz949, zzz952)
new_lt21(zzz948, zzz951, app(app(ty_@2, edf), edg)) → new_lt19(zzz948, zzz951, edf, edg)
new_esEs11(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_esEs9(zzz7980, zzz8040, app(ty_Maybe, fae)) → new_esEs21(zzz7980, zzz8040, fae)
new_esEs41(GT) → True
new_esEs10(zzz7981, zzz8041, app(ty_Ratio, fga)) → new_esEs17(zzz7981, zzz8041, fga)
new_compare25(zzz900, zzz901, False, bdb, bdc) → new_compare10(zzz900, zzz901, new_ltEs22(zzz900, zzz901, bdb), bdb, bdc)
new_esEs6(zzz7980, zzz8040, app(app(app(ty_@3, dcb), dcc), dcd)) → new_esEs16(zzz7980, zzz8040, dcb, dcc, dcd)
new_esEs34(zzz949, zzz952, ty_Double) → new_esEs25(zzz949, zzz952)
new_esEs15(zzz79800, zzz80400, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_lt20(zzz949, zzz952, ty_Integer) → new_lt15(zzz949, zzz952)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Float, bfa) → new_esEs24(zzz79800, zzz80400)
new_esEs31(zzz79802, zzz80402, ty_Char) → new_esEs18(zzz79802, zzz80402)
new_esEs7(zzz7982, zzz8042, ty_Double) → new_esEs25(zzz7982, zzz8042)
new_compare7(Left(zzz7980), Left(zzz8040), ga, gb) → new_compare25(zzz7980, zzz8040, new_esEs5(zzz7980, zzz8040, ga), ga, gb)
new_compare7(Right(zzz7980), Right(zzz8040), ga, gb) → new_compare26(zzz7980, zzz8040, new_esEs6(zzz7980, zzz8040, gb), ga, gb)
new_esEs31(zzz79802, zzz80402, app(app(app(ty_@3, dea), deb), dec)) → new_esEs16(zzz79802, zzz80402, dea, deb, dec)
new_ltEs22(zzz900, zzz901, ty_Double) → new_ltEs7(zzz900, zzz901)
new_esEs15(zzz79800, zzz80400, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_lt5(zzz8881, zzz8891, ty_Ordering) → new_lt16(zzz8881, zzz8891)
new_esEs31(zzz79802, zzz80402, app(ty_Ratio, ded)) → new_esEs17(zzz79802, zzz80402, ded)
new_gt4(zzz832, zzz838) → new_esEs41(new_compare19(zzz832, zzz838))
new_esEs38(zzz8880, zzz8890, app(ty_Maybe, gbd)) → new_esEs21(zzz8880, zzz8890, gbd)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(app(ty_@2, fea), feb), bae) → new_ltEs18(zzz8880, zzz8890, fea, feb)
new_lt22(zzz961, zzz963, app(app(app(ty_@3, cab), cac), cad)) → new_lt17(zzz961, zzz963, cab, cac, cad)
new_lt6(zzz8880, zzz8890, app(ty_Maybe, chf)) → new_lt7(zzz8880, zzz8890, chf)
new_compare0([], :(zzz8040, zzz8041), bcg) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_esEs15(zzz79800, zzz80400, app(ty_[], ff)) → new_esEs22(zzz79800, zzz80400, ff)
new_esEs7(zzz7982, zzz8042, ty_Char) → new_esEs18(zzz7982, zzz8042)
new_gt13(zzz832, zzz838, edh) → new_esEs41(new_compare9(zzz832, zzz838, edh))
new_asAs(True, zzz1000) → zzz1000
new_ltEs22(zzz900, zzz901, ty_Float) → new_ltEs11(zzz900, zzz901)
new_esEs9(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_ltEs5(zzz8882, zzz8892, app(ty_Maybe, cfb)) → new_ltEs6(zzz8882, zzz8892, cfb)
new_ltEs16(LT, LT) → True
new_esEs4(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_esEs14(zzz79801, zzz80401, ty_Integer) → new_esEs26(zzz79801, zzz80401)
new_lt5(zzz8881, zzz8891, ty_Int) → new_lt9(zzz8881, zzz8891)
new_lt22(zzz961, zzz963, ty_@0) → new_lt14(zzz961, zzz963)
new_ltEs23(zzz962, zzz964, ty_@0) → new_ltEs13(zzz962, zzz964)
new_ltEs20(zzz907, zzz908, ty_Int) → new_ltEs8(zzz907, zzz908)
new_esEs17(:%(zzz79800, zzz79801), :%(zzz80400, zzz80401), ceh) → new_asAs(new_esEs40(zzz79800, zzz80400, ceh), new_esEs39(zzz79801, zzz80401, ceh))
new_compare9(:%(zzz7980, zzz7981), :%(zzz8040, zzz8041), ty_Integer) → new_compare17(new_sr0(zzz7980, zzz8041), new_sr0(zzz8040, zzz7981))
new_compare6(Nothing, Just(zzz8040), ced) → LT
new_esEs31(zzz79802, zzz80402, app(app(ty_@2, dfa), dfb)) → new_esEs13(zzz79802, zzz80402, dfa, dfb)
new_ltEs24(zzz8881, zzz8891, ty_Bool) → new_ltEs15(zzz8881, zzz8891)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, app(ty_Ratio, bge)) → new_esEs17(zzz79800, zzz80400, bge)
new_lt6(zzz8880, zzz8890, ty_Ordering) → new_lt16(zzz8880, zzz8890)
new_esEs8(zzz7981, zzz8041, app(ty_Ratio, egh)) → new_esEs17(zzz7981, zzz8041, egh)
new_esEs8(zzz7981, zzz8041, ty_Int) → new_esEs28(zzz7981, zzz8041)
new_esEs34(zzz949, zzz952, ty_Ordering) → new_esEs19(zzz949, zzz952)
new_primCompAux0(zzz894, EQ) → zzz894
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_not(True) → False
new_compare210(zzz961, zzz962, zzz963, zzz964, True, bhd, bhe) → EQ
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_compare31(zzz7980, zzz8040, ty_Bool) → new_compare5(zzz7980, zzz8040)
new_esEs27(@0, @0) → True
new_lt15(zzz798, zzz804) → new_esEs12(new_compare17(zzz798, zzz804))
new_lt22(zzz961, zzz963, ty_Int) → new_lt9(zzz961, zzz963)
new_esEs35(zzz948, zzz951, ty_Int) → new_esEs28(zzz948, zzz951)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Double, bfa) → new_esEs25(zzz79800, zzz80400)
new_ltEs15(True, False) → False
new_ltEs16(GT, GT) → True
new_compare7(Left(zzz7980), Right(zzz8040), ga, gb) → LT
new_ltEs5(zzz8882, zzz8892, app(app(ty_Either, cfd), cfe)) → new_ltEs10(zzz8882, zzz8892, cfd, cfe)
new_esEs10(zzz7981, zzz8041, ty_Int) → new_esEs28(zzz7981, zzz8041)
new_esEs9(zzz7980, zzz8040, app(app(ty_@2, fag), fah)) → new_esEs13(zzz7980, zzz8040, fag, fah)
new_ltEs19(zzz950, zzz953, app(ty_[], eac)) → new_ltEs9(zzz950, zzz953, eac)
new_ltEs10(Left(zzz8880), Right(zzz8890), bad, bae) → True
new_compare19(Double(zzz7980, zzz7981), Double(zzz8040, zzz8041)) → new_compare14(new_sr(zzz7980, zzz8040), new_sr(zzz7981, zzz8041))
new_compare10(zzz984, zzz985, True, ddd, dde) → LT
new_esEs14(zzz79801, zzz80401, app(ty_Maybe, eb)) → new_esEs21(zzz79801, zzz80401, eb)
new_esEs14(zzz79801, zzz80401, ty_Bool) → new_esEs23(zzz79801, zzz80401)
new_esEs11(zzz7980, zzz8040, app(ty_Maybe, fhf)) → new_esEs21(zzz7980, zzz8040, fhf)
new_esEs11(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_ltEs16(LT, GT) → True
new_lt23(zzz8880, zzz8890, ty_Char) → new_lt13(zzz8880, zzz8890)
new_compare31(zzz7980, zzz8040, ty_Double) → new_compare19(zzz7980, zzz8040)
new_esEs9(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_esEs15(zzz79800, zzz80400, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_ltEs22(zzz900, zzz901, app(app(ty_Either, bdf), bdg)) → new_ltEs10(zzz900, zzz901, bdf, bdg)
new_esEs20(Right(zzz79800), Left(zzz80400), bga, bfa) → False
new_esEs20(Left(zzz79800), Right(zzz80400), bga, bfa) → False
new_primMulNat0(Zero, Zero) → Zero
new_lt6(zzz8880, zzz8890, ty_Bool) → new_lt4(zzz8880, zzz8890)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, app(ty_[], fed)) → new_ltEs9(zzz8880, zzz8890, fed)
new_esEs11(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_esEs4(zzz7980, zzz8040, app(ty_Maybe, bf)) → new_esEs21(zzz7980, zzz8040, bf)
new_esEs4(zzz7980, zzz8040, app(ty_[], cfa)) → new_esEs22(zzz7980, zzz8040, cfa)
new_esEs20(Left(zzz79800), Left(zzz80400), app(ty_Maybe, bfe), bfa) → new_esEs21(zzz79800, zzz80400, bfe)
new_compare31(zzz7980, zzz8040, ty_Float) → new_compare16(zzz7980, zzz8040)
new_esEs34(zzz949, zzz952, ty_Bool) → new_esEs23(zzz949, zzz952)
new_esEs29(zzz8881, zzz8891, app(ty_Maybe, cgd)) → new_esEs21(zzz8881, zzz8891, cgd)
new_esEs15(zzz79800, zzz80400, app(app(ty_Either, fb), fc)) → new_esEs20(zzz79800, zzz80400, fb, fc)
new_lt22(zzz961, zzz963, app(app(ty_@2, caf), cag)) → new_lt19(zzz961, zzz963, caf, cag)
new_esEs35(zzz948, zzz951, ty_@0) → new_esEs27(zzz948, zzz951)
new_esEs32(zzz79801, zzz80401, ty_Float) → new_esEs24(zzz79801, zzz80401)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_Double) → new_ltEs7(zzz8880, zzz8890)
new_esEs6(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_ltEs19(zzz950, zzz953, ty_@0) → new_ltEs13(zzz950, zzz953)
new_esEs14(zzz79801, zzz80401, ty_Int) → new_esEs28(zzz79801, zzz80401)
new_esEs29(zzz8881, zzz8891, ty_Float) → new_esEs24(zzz8881, zzz8891)
new_esEs37(zzz961, zzz963, ty_Double) → new_esEs25(zzz961, zzz963)
new_esEs32(zzz79801, zzz80401, ty_Ordering) → new_esEs19(zzz79801, zzz80401)
new_esEs31(zzz79802, zzz80402, app(ty_Maybe, deg)) → new_esEs21(zzz79802, zzz80402, deg)
new_esEs35(zzz948, zzz951, ty_Double) → new_esEs25(zzz948, zzz951)
new_esEs30(zzz8880, zzz8890, ty_Ordering) → new_esEs19(zzz8880, zzz8890)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, app(app(ty_Either, bgf), bgg)) → new_esEs20(zzz79800, zzz80400, bgf, bgg)
new_esEs33(zzz79800, zzz80400, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_ltEs22(zzz900, zzz901, ty_Bool) → new_ltEs15(zzz900, zzz901)
new_esEs32(zzz79801, zzz80401, ty_Int) → new_esEs28(zzz79801, zzz80401)
new_compare15(zzz977, zzz978, False, bcf) → GT
new_compare18(EQ, EQ) → EQ
new_gt5(zzz832, zzz838, cce) → new_esEs41(new_compare0(zzz832, zzz838, cce))
new_esEs14(zzz79801, zzz80401, app(ty_Ratio, dg)) → new_esEs17(zzz79801, zzz80401, dg)
new_esEs4(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_esEs38(zzz8880, zzz8890, ty_Ordering) → new_esEs19(zzz8880, zzz8890)
new_gt10(zzz832, zzz838, fbc) → new_esEs41(new_compare6(zzz832, zzz838, fbc))
new_esEs38(zzz8880, zzz8890, ty_Integer) → new_esEs26(zzz8880, zzz8890)
new_esEs8(zzz7981, zzz8041, app(ty_[], ehd)) → new_esEs22(zzz7981, zzz8041, ehd)
new_ltEs15(True, True) → True
new_lt21(zzz948, zzz951, app(app(app(ty_@3, edb), edc), edd)) → new_lt17(zzz948, zzz951, edb, edc, edd)
new_esEs29(zzz8881, zzz8891, ty_Char) → new_esEs18(zzz8881, zzz8891)
new_lt27(zzz1048, zzz1043, ty_Int) → new_lt9(zzz1048, zzz1043)
new_esEs34(zzz949, zzz952, ty_Float) → new_esEs24(zzz949, zzz952)
new_gt16(zzz867, zzz862, app(ty_Ratio, bcc)) → new_gt13(zzz867, zzz862, bcc)
new_ltEs15(False, True) → True
new_esEs36(zzz79800, zzz80400, app(ty_[], fcf)) → new_esEs22(zzz79800, zzz80400, fcf)
new_ltEs22(zzz900, zzz901, app(ty_Maybe, bdd)) → new_ltEs6(zzz900, zzz901, bdd)
new_ltEs16(EQ, GT) → True
new_ltEs24(zzz8881, zzz8891, ty_Double) → new_ltEs7(zzz8881, zzz8891)
new_lt23(zzz8880, zzz8890, app(ty_[], gbe)) → new_lt10(zzz8880, zzz8890, gbe)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(app(ty_Either, fdc), fdd), bae) → new_ltEs10(zzz8880, zzz8890, fdc, fdd)
new_esEs31(zzz79802, zzz80402, ty_@0) → new_esEs27(zzz79802, zzz80402)
new_ltEs18(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), bbb, bbc) → new_pePe(new_lt23(zzz8880, zzz8890, bbb), new_asAs(new_esEs38(zzz8880, zzz8890, bbb), new_ltEs24(zzz8881, zzz8891, bbc)))
new_ltEs5(zzz8882, zzz8892, app(ty_[], cfc)) → new_ltEs9(zzz8882, zzz8892, cfc)
new_esEs12(LT) → True
new_ltEs15(False, False) → True
new_lt23(zzz8880, zzz8890, ty_Float) → new_lt12(zzz8880, zzz8890)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(app(app(ty_@3, fde), fdf), fdg), bae) → new_ltEs4(zzz8880, zzz8890, fde, fdf, fdg)
new_compare18(GT, GT) → EQ
new_lt5(zzz8881, zzz8891, ty_Float) → new_lt12(zzz8881, zzz8891)
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_esEs11(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_ltEs21(zzz888, zzz889, ty_Bool) → new_ltEs15(zzz888, zzz889)
new_lt22(zzz961, zzz963, app(ty_Maybe, bhf)) → new_lt7(zzz961, zzz963, bhf)
new_lt27(zzz1048, zzz1043, ty_Bool) → new_lt4(zzz1048, zzz1043)
new_ltEs19(zzz950, zzz953, app(app(app(ty_@3, eaf), eag), eah)) → new_ltEs4(zzz950, zzz953, eaf, eag, eah)
new_esEs15(zzz79800, zzz80400, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_esEs29(zzz8881, zzz8891, ty_Ordering) → new_esEs19(zzz8881, zzz8891)
new_esEs10(zzz7981, zzz8041, app(app(ty_@2, fgf), fgg)) → new_esEs13(zzz7981, zzz8041, fgf, fgg)
new_esEs37(zzz961, zzz963, app(ty_Ratio, cae)) → new_esEs17(zzz961, zzz963, cae)
new_lt20(zzz949, zzz952, app(app(ty_@2, ecd), ece)) → new_lt19(zzz949, zzz952, ecd, ece)
new_compare18(LT, GT) → LT
new_esEs38(zzz8880, zzz8890, ty_Int) → new_esEs28(zzz8880, zzz8890)
new_lt23(zzz8880, zzz8890, ty_Integer) → new_lt15(zzz8880, zzz8890)
new_esEs37(zzz961, zzz963, app(app(ty_Either, bhh), caa)) → new_esEs20(zzz961, zzz963, bhh, caa)
new_esEs7(zzz7982, zzz8042, app(app(ty_Either, efg), efh)) → new_esEs20(zzz7982, zzz8042, efg, efh)
new_lt6(zzz8880, zzz8890, app(ty_Ratio, dae)) → new_lt18(zzz8880, zzz8890, dae)
new_compare31(zzz7980, zzz8040, ty_Ordering) → new_compare18(zzz7980, zzz8040)
new_compare27(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, False, dhg, dhh, eaa) → new_compare11(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, new_lt21(zzz948, zzz951, dhg), new_asAs(new_esEs35(zzz948, zzz951, dhg), new_pePe(new_lt20(zzz949, zzz952, dhh), new_asAs(new_esEs34(zzz949, zzz952, dhh), new_ltEs19(zzz950, zzz953, eaa)))), dhg, dhh, eaa)
new_ltEs17(zzz888, zzz889, bba) → new_fsEs(new_compare9(zzz888, zzz889, bba))
new_ltEs12(zzz888, zzz889) → new_fsEs(new_compare29(zzz888, zzz889))
new_lt8(zzz798, zzz804) → new_esEs12(new_compare19(zzz798, zzz804))
new_ltEs22(zzz900, zzz901, ty_Char) → new_ltEs12(zzz900, zzz901)
new_gt16(zzz867, zzz862, app(ty_Maybe, bbd)) → new_gt10(zzz867, zzz862, bbd)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_esEs20(Left(zzz79800), Left(zzz80400), app(ty_Ratio, bfb), bfa) → new_esEs17(zzz79800, zzz80400, bfb)
new_esEs14(zzz79801, zzz80401, app(ty_[], ec)) → new_esEs22(zzz79801, zzz80401, ec)
new_esEs5(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_ltEs5(zzz8882, zzz8892, ty_Float) → new_ltEs11(zzz8882, zzz8892)
new_lt22(zzz961, zzz963, app(ty_Ratio, cae)) → new_lt18(zzz961, zzz963, cae)
new_compare110(zzz1009, zzz1010, zzz1011, zzz1012, False, zzz1014, bch, bda) → new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, zzz1014, bch, bda)
new_esEs9(zzz7980, zzz8040, app(ty_[], faf)) → new_esEs22(zzz7980, zzz8040, faf)
new_esEs8(zzz7981, zzz8041, ty_Char) → new_esEs18(zzz7981, zzz8041)
new_ltEs11(zzz888, zzz889) → new_fsEs(new_compare16(zzz888, zzz889))
new_ltEs13(zzz888, zzz889) → new_fsEs(new_compare13(zzz888, zzz889))
new_gt16(zzz867, zzz862, ty_Int) → new_gt11(zzz867, zzz862)
new_esEs10(zzz7981, zzz8041, ty_Ordering) → new_esEs19(zzz7981, zzz8041)
new_esEs8(zzz7981, zzz8041, app(ty_Maybe, ehc)) → new_esEs21(zzz7981, zzz8041, ehc)
new_ltEs16(LT, EQ) → True
new_lt23(zzz8880, zzz8890, app(app(ty_@2, gce), gcf)) → new_lt19(zzz8880, zzz8890, gce, gcf)
new_esEs5(zzz7980, zzz8040, app(ty_[], dbg)) → new_esEs22(zzz7980, zzz8040, dbg)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Ordering) → new_ltEs16(zzz8880, zzz8890)
new_ltEs19(zzz950, zzz953, app(ty_Ratio, eba)) → new_ltEs17(zzz950, zzz953, eba)
new_lt23(zzz8880, zzz8890, ty_@0) → new_lt14(zzz8880, zzz8890)
new_lt23(zzz8880, zzz8890, ty_Int) → new_lt9(zzz8880, zzz8890)
new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, True, bch, bda) → LT
new_lt20(zzz949, zzz952, app(app(app(ty_@3, ebh), eca), ecb)) → new_lt17(zzz949, zzz952, ebh, eca, ecb)
new_ltEs20(zzz907, zzz908, ty_Char) → new_ltEs12(zzz907, zzz908)
new_ltEs20(zzz907, zzz908, app(ty_Ratio, hd)) → new_ltEs17(zzz907, zzz908, hd)
new_lt18(zzz798, zzz804, ffe) → new_esEs12(new_compare9(zzz798, zzz804, ffe))
new_primEqInt(Neg(Succ(zzz798000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(zzz804000))) → False
new_ltEs19(zzz950, zzz953, ty_Char) → new_ltEs12(zzz950, zzz953)
new_esEs36(zzz79800, zzz80400, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_esEs40(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_esEs7(zzz7982, zzz8042, ty_Ordering) → new_esEs19(zzz7982, zzz8042)
new_esEs6(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_esEs15(zzz79800, zzz80400, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_@0) → new_ltEs13(zzz8880, zzz8890)
new_lt6(zzz8880, zzz8890, ty_Float) → new_lt12(zzz8880, zzz8890)
new_lt6(zzz8880, zzz8890, ty_@0) → new_lt14(zzz8880, zzz8890)
new_ltEs24(zzz8881, zzz8891, app(app(ty_Either, gad), gae)) → new_ltEs10(zzz8881, zzz8891, gad, gae)
new_ltEs16(GT, LT) → False
new_lt20(zzz949, zzz952, ty_Double) → new_lt8(zzz949, zzz952)
new_lt6(zzz8880, zzz8890, ty_Double) → new_lt8(zzz8880, zzz8890)
new_esEs35(zzz948, zzz951, ty_Char) → new_esEs18(zzz948, zzz951)
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_esEs38(zzz8880, zzz8890, ty_Float) → new_esEs24(zzz8880, zzz8890)
new_lt6(zzz8880, zzz8890, ty_Char) → new_lt13(zzz8880, zzz8890)
new_ltEs23(zzz962, zzz964, ty_Double) → new_ltEs7(zzz962, zzz964)
new_compare10(zzz984, zzz985, False, ddd, dde) → GT
new_ltEs23(zzz962, zzz964, app(app(app(ty_@3, cbd), cbe), cbf)) → new_ltEs4(zzz962, zzz964, cbd, cbe, cbf)
new_ltEs5(zzz8882, zzz8892, ty_Ordering) → new_ltEs16(zzz8882, zzz8892)
new_esEs38(zzz8880, zzz8890, app(app(ty_@2, gce), gcf)) → new_esEs13(zzz8880, zzz8890, gce, gcf)
new_esEs14(zzz79801, zzz80401, ty_Ordering) → new_esEs19(zzz79801, zzz80401)
new_esEs34(zzz949, zzz952, ty_Int) → new_esEs28(zzz949, zzz952)
new_esEs36(zzz79800, zzz80400, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_compare12(zzz991, zzz992, True, fba, fbb) → LT
new_esEs11(zzz7980, zzz8040, app(app(ty_Either, fhd), fhe)) → new_esEs20(zzz7980, zzz8040, fhd, fhe)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Bool, bae) → new_ltEs15(zzz8880, zzz8890)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_lt10(zzz798, zzz804, bcg) → new_esEs12(new_compare0(zzz798, zzz804, bcg))
new_lt16(zzz798, zzz804) → new_esEs12(new_compare18(zzz798, zzz804))
new_compare6(Nothing, Nothing, ced) → EQ
new_esEs30(zzz8880, zzz8890, ty_Integer) → new_esEs26(zzz8880, zzz8890)
new_gt16(zzz867, zzz862, app(app(ty_@2, bcd), bce)) → new_gt6(zzz867, zzz862, bcd, bce)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Char) → new_ltEs12(zzz8880, zzz8890)
new_ltEs8(zzz888, zzz889) → new_fsEs(new_compare14(zzz888, zzz889))
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Float) → new_esEs24(zzz79800, zzz80400)
new_primEqInt(Pos(Succ(zzz798000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(zzz804000))) → False
new_esEs5(zzz7980, zzz8040, app(app(ty_@2, dbh), dca)) → new_esEs13(zzz7980, zzz8040, dbh, dca)
new_ltEs5(zzz8882, zzz8892, ty_@0) → new_ltEs13(zzz8882, zzz8892)
new_ltEs19(zzz950, zzz953, app(ty_Maybe, eab)) → new_ltEs6(zzz950, zzz953, eab)
new_ltEs24(zzz8881, zzz8891, app(app(ty_@2, gbb), gbc)) → new_ltEs18(zzz8881, zzz8891, gbb, gbc)
new_esEs5(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_primCmpNat0(Zero, Zero) → EQ
new_compare27(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, True, dhg, dhh, eaa) → EQ
new_esEs13(@2(zzz79800, zzz79801), @2(zzz80400, zzz80401), db, dc) → new_asAs(new_esEs15(zzz79800, zzz80400, db), new_esEs14(zzz79801, zzz80401, dc))
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_esEs36(zzz79800, zzz80400, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_ltEs21(zzz888, zzz889, app(ty_Ratio, bba)) → new_ltEs17(zzz888, zzz889, bba)
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_esEs10(zzz7981, zzz8041, ty_Float) → new_esEs24(zzz7981, zzz8041)
new_esEs37(zzz961, zzz963, ty_Float) → new_esEs24(zzz961, zzz963)
new_esEs11(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(ty_[], fdb), bae) → new_ltEs9(zzz8880, zzz8890, fdb)
new_esEs20(Left(zzz79800), Left(zzz80400), app(app(ty_Either, bfc), bfd), bfa) → new_esEs20(zzz79800, zzz80400, bfc, bfd)
new_sr0(Integer(zzz79800), Integer(zzz80410)) → Integer(new_primMulInt(zzz79800, zzz80410))
new_esEs23(True, True) → True
new_primEqInt(Pos(Succ(zzz798000)), Neg(zzz80400)) → False
new_primEqInt(Neg(Succ(zzz798000)), Pos(zzz80400)) → False
new_ltEs5(zzz8882, zzz8892, ty_Double) → new_ltEs7(zzz8882, zzz8892)
new_esEs22(:(zzz79800, zzz79801), :(zzz80400, zzz80401), cfa) → new_asAs(new_esEs36(zzz79800, zzz80400, cfa), new_esEs22(zzz79801, zzz80401, cfa))
new_ltEs6(Just(zzz8880), Just(zzz8890), app(ty_Maybe, gcg)) → new_ltEs6(zzz8880, zzz8890, gcg)
new_compare5(True, False) → GT
new_lt6(zzz8880, zzz8890, ty_Integer) → new_lt15(zzz8880, zzz8890)
new_esEs5(zzz7980, zzz8040, app(ty_Maybe, dbf)) → new_esEs21(zzz7980, zzz8040, dbf)
new_compare18(EQ, LT) → GT
new_ltEs22(zzz900, zzz901, app(app(app(ty_@3, bdh), bea), beb)) → new_ltEs4(zzz900, zzz901, bdh, bea, beb)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Char) → new_esEs18(zzz79800, zzz80400)
new_esEs23(True, False) → False
new_esEs23(False, True) → False
new_ltEs23(zzz962, zzz964, app(app(ty_@2, cbh), cca)) → new_ltEs18(zzz962, zzz964, cbh, cca)
new_esEs33(zzz79800, zzz80400, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_esEs38(zzz8880, zzz8890, app(app(app(ty_@3, gbh), gca), gcb)) → new_esEs16(zzz8880, zzz8890, gbh, gca, gcb)
new_esEs35(zzz948, zzz951, app(ty_Maybe, ecf)) → new_esEs21(zzz948, zzz951, ecf)
new_esEs22([], [], cfa) → True
new_esEs41(EQ) → False
new_esEs6(zzz7980, zzz8040, app(app(ty_@2, ddb), ddc)) → new_esEs13(zzz7980, zzz8040, ddb, ddc)
new_esEs15(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs11(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_esEs7(zzz7982, zzz8042, app(ty_Ratio, eff)) → new_esEs17(zzz7982, zzz8042, eff)
new_ltEs23(zzz962, zzz964, app(ty_Ratio, cbg)) → new_ltEs17(zzz962, zzz964, cbg)
new_esEs29(zzz8881, zzz8891, ty_Bool) → new_esEs23(zzz8881, zzz8891)
new_esEs20(Right(zzz79800), Right(zzz80400), bga, app(app(ty_@2, bhb), bhc)) → new_esEs13(zzz79800, zzz80400, bhb, bhc)
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_esEs8(zzz7981, zzz8041, ty_Ordering) → new_esEs19(zzz7981, zzz8041)
new_esEs33(zzz79800, zzz80400, app(ty_Ratio, dgh)) → new_esEs17(zzz79800, zzz80400, dgh)
new_esEs31(zzz79802, zzz80402, app(ty_[], deh)) → new_esEs22(zzz79802, zzz80402, deh)
new_lt21(zzz948, zzz951, ty_Bool) → new_lt4(zzz948, zzz951)
new_ltEs5(zzz8882, zzz8892, ty_Integer) → new_ltEs14(zzz8882, zzz8892)
new_lt21(zzz948, zzz951, ty_@0) → new_lt14(zzz948, zzz951)
new_lt22(zzz961, zzz963, ty_Ordering) → new_lt16(zzz961, zzz963)
new_esEs34(zzz949, zzz952, ty_@0) → new_esEs27(zzz949, zzz952)
new_esEs5(zzz7980, zzz8040, app(app(app(ty_@3, dah), dba), dbb)) → new_esEs16(zzz7980, zzz8040, dah, dba, dbb)
new_esEs8(zzz7981, zzz8041, ty_Integer) → new_esEs26(zzz7981, zzz8041)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_@0, bfa) → new_esEs27(zzz79800, zzz80400)
new_esEs19(GT, LT) → False
new_esEs19(LT, GT) → False
new_esEs31(zzz79802, zzz80402, ty_Integer) → new_esEs26(zzz79802, zzz80402)
new_lt21(zzz948, zzz951, ty_Double) → new_lt8(zzz948, zzz951)
new_esEs5(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_esEs38(zzz8880, zzz8890, ty_@0) → new_esEs27(zzz8880, zzz8890)
new_lt23(zzz8880, zzz8890, app(app(ty_Either, gbf), gbg)) → new_lt11(zzz8880, zzz8890, gbf, gbg)
new_esEs6(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_esEs4(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_esEs30(zzz8880, zzz8890, app(app(ty_Either, chh), daa)) → new_esEs20(zzz8880, zzz8890, chh, daa)
new_esEs15(zzz79800, zzz80400, app(ty_Ratio, fa)) → new_esEs17(zzz79800, zzz80400, fa)
new_lt7(zzz798, zzz804, ced) → new_esEs12(new_compare6(zzz798, zzz804, ced))
new_ltEs21(zzz888, zzz889, app(app(app(ty_@3, baf), bag), bah)) → new_ltEs4(zzz888, zzz889, baf, bag, bah)
new_lt20(zzz949, zzz952, ty_@0) → new_lt14(zzz949, zzz952)
new_ltEs22(zzz900, zzz901, ty_@0) → new_ltEs13(zzz900, zzz901)
new_gt1(zzz832, zzz838, hg, hh) → new_esEs41(new_compare7(zzz832, zzz838, hg, hh))
new_esEs34(zzz949, zzz952, app(ty_[], ebe)) → new_esEs22(zzz949, zzz952, ebe)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_ltEs6(Just(zzz8880), Just(zzz8890), app(app(ty_Either, gda), gdb)) → new_ltEs10(zzz8880, zzz8890, gda, gdb)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(ty_Ratio, gdf)) → new_ltEs17(zzz8880, zzz8890, gdf)
new_esEs33(zzz79800, zzz80400, app(ty_Maybe, dhc)) → new_esEs21(zzz79800, zzz80400, dhc)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(ty_[], gch)) → new_ltEs9(zzz8880, zzz8890, gch)
new_esEs9(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_ltEs24(zzz8881, zzz8891, ty_Ordering) → new_ltEs16(zzz8881, zzz8891)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Double, bae) → new_ltEs7(zzz8880, zzz8890)
new_ltEs20(zzz907, zzz908, app(ty_Maybe, ge)) → new_ltEs6(zzz907, zzz908, ge)
new_esEs5(zzz7980, zzz8040, app(app(ty_Either, dbd), dbe)) → new_esEs20(zzz7980, zzz8040, dbd, dbe)
new_lt21(zzz948, zzz951, ty_Integer) → new_lt15(zzz948, zzz951)
new_esEs11(zzz7980, zzz8040, app(app(app(ty_@3, fgh), fha), fhb)) → new_esEs16(zzz7980, zzz8040, fgh, fha, fhb)
new_esEs9(zzz7980, zzz8040, app(ty_Ratio, fab)) → new_esEs17(zzz7980, zzz8040, fab)
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_esEs29(zzz8881, zzz8891, app(app(ty_Either, cgf), cgg)) → new_esEs20(zzz8881, zzz8891, cgf, cgg)
new_lt27(zzz1048, zzz1043, app(ty_[], eeb)) → new_lt10(zzz1048, zzz1043, eeb)
new_esEs37(zzz961, zzz963, ty_Bool) → new_esEs23(zzz961, zzz963)
new_ltEs22(zzz900, zzz901, ty_Integer) → new_ltEs14(zzz900, zzz901)
new_esEs37(zzz961, zzz963, ty_Char) → new_esEs18(zzz961, zzz963)
new_ltEs21(zzz888, zzz889, app(app(ty_Either, bad), bae)) → new_ltEs10(zzz888, zzz889, bad, bae)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_@0) → new_esEs27(zzz79800, zzz80400)
new_gt9(zzz832, zzz838) → new_esEs41(new_compare29(zzz832, zzz838))
new_esEs31(zzz79802, zzz80402, ty_Float) → new_esEs24(zzz79802, zzz80402)
new_compare6(Just(zzz7980), Just(zzz8040), ced) → new_compare28(zzz7980, zzz8040, new_esEs4(zzz7980, zzz8040, ced), ced)
new_esEs33(zzz79800, zzz80400, app(ty_[], dhd)) → new_esEs22(zzz79800, zzz80400, dhd)
new_esEs19(GT, EQ) → False
new_esEs19(EQ, GT) → False
new_lt5(zzz8881, zzz8891, app(ty_Maybe, cgd)) → new_lt7(zzz8881, zzz8891, cgd)
new_lt5(zzz8881, zzz8891, ty_Bool) → new_lt4(zzz8881, zzz8891)
new_esEs10(zzz7981, zzz8041, ty_Integer) → new_esEs26(zzz7981, zzz8041)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(app(app(ty_@3, gdc), gdd), gde)) → new_ltEs4(zzz8880, zzz8890, gdc, gdd, gde)
new_esEs22([], :(zzz80400, zzz80401), cfa) → False
new_esEs22(:(zzz79800, zzz79801), [], cfa) → False
new_esEs5(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_lt23(zzz8880, zzz8890, ty_Ordering) → new_lt16(zzz8880, zzz8890)
new_gt2(zzz832, zzz838) → new_esEs41(new_compare5(zzz832, zzz838))
new_lt4(zzz798, zzz804) → new_esEs12(new_compare5(zzz798, zzz804))
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_esEs6(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_lt17(zzz798, zzz804, ddf, ddg, ddh) → new_esEs12(new_compare8(zzz798, zzz804, ddf, ddg, ddh))
new_ltEs20(zzz907, zzz908, ty_Bool) → new_ltEs15(zzz907, zzz908)
new_esEs33(zzz79800, zzz80400, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_esEs31(zzz79802, zzz80402, ty_Ordering) → new_esEs19(zzz79802, zzz80402)
new_lt21(zzz948, zzz951, ty_Int) → new_lt9(zzz948, zzz951)
new_esEs15(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_lt22(zzz961, zzz963, app(ty_[], bhg)) → new_lt10(zzz961, zzz963, bhg)
new_esEs38(zzz8880, zzz8890, ty_Double) → new_esEs25(zzz8880, zzz8890)
new_gt8(zzz832, zzz838) → new_esEs41(new_compare16(zzz832, zzz838))
new_esEs7(zzz7982, zzz8042, ty_Int) → new_esEs28(zzz7982, zzz8042)
new_ltEs5(zzz8882, zzz8892, ty_Char) → new_ltEs12(zzz8882, zzz8892)
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, ty_Int) → new_ltEs8(zzz8880, zzz8890)
new_lt21(zzz948, zzz951, ty_Ordering) → new_lt16(zzz948, zzz951)
new_ltEs23(zzz962, zzz964, ty_Bool) → new_ltEs15(zzz962, zzz964)
new_ltEs4(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), baf, bag, bah) → new_pePe(new_lt6(zzz8880, zzz8890, baf), new_asAs(new_esEs30(zzz8880, zzz8890, baf), new_pePe(new_lt5(zzz8881, zzz8891, bag), new_asAs(new_esEs29(zzz8881, zzz8891, bag), new_ltEs5(zzz8882, zzz8892, bah)))))
new_ltEs10(Right(zzz8880), Right(zzz8890), bad, app(ty_Maybe, fec)) → new_ltEs6(zzz8880, zzz8890, fec)
new_esEs35(zzz948, zzz951, ty_Float) → new_esEs24(zzz948, zzz951)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Bool) → new_ltEs15(zzz8880, zzz8890)
new_esEs15(zzz79800, zzz80400, app(ty_Maybe, fd)) → new_esEs21(zzz79800, zzz80400, fd)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Char, bae) → new_ltEs12(zzz8880, zzz8890)
new_ltEs9(zzz888, zzz889, bac) → new_fsEs(new_compare0(zzz888, zzz889, bac))
new_esEs41(LT) → False
new_esEs20(Left(zzz79800), Left(zzz80400), app(app(ty_@2, bfg), bfh), bfa) → new_esEs13(zzz79800, zzz80400, bfg, bfh)
new_esEs32(zzz79801, zzz80401, app(ty_Ratio, dff)) → new_esEs17(zzz79801, zzz80401, dff)
new_ltEs24(zzz8881, zzz8891, ty_Char) → new_ltEs12(zzz8881, zzz8891)
new_gt0(zzz832, zzz838) → new_esEs41(new_compare17(zzz832, zzz838))
new_ltEs21(zzz888, zzz889, ty_@0) → new_ltEs13(zzz888, zzz889)
new_ltEs20(zzz907, zzz908, ty_Float) → new_ltEs11(zzz907, zzz908)
new_compare18(LT, LT) → EQ
new_ltEs10(Right(zzz8880), Left(zzz8890), bad, bae) → False
new_esEs36(zzz79800, zzz80400, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_ltEs22(zzz900, zzz901, app(ty_[], bde)) → new_ltEs9(zzz900, zzz901, bde)
new_lt21(zzz948, zzz951, ty_Float) → new_lt12(zzz948, zzz951)
new_lt27(zzz1048, zzz1043, ty_Char) → new_lt13(zzz1048, zzz1043)
new_esEs7(zzz7982, zzz8042, app(app(app(ty_@3, efc), efd), efe)) → new_esEs16(zzz7982, zzz8042, efc, efd, efe)
new_esEs34(zzz949, zzz952, app(app(ty_@2, ecd), ece)) → new_esEs13(zzz949, zzz952, ecd, ece)
new_esEs35(zzz948, zzz951, app(app(app(ty_@3, edb), edc), edd)) → new_esEs16(zzz948, zzz951, edb, edc, edd)
new_esEs6(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_esEs35(zzz948, zzz951, ty_Integer) → new_esEs26(zzz948, zzz951)
new_esEs37(zzz961, zzz963, ty_Integer) → new_esEs26(zzz961, zzz963)
new_lt5(zzz8881, zzz8891, ty_Double) → new_lt8(zzz8881, zzz8891)
new_ltEs21(zzz888, zzz889, ty_Integer) → new_ltEs14(zzz888, zzz889)
new_compare15(zzz977, zzz978, True, bcf) → LT
new_esEs8(zzz7981, zzz8041, app(app(ty_@2, ehe), ehf)) → new_esEs13(zzz7981, zzz8041, ehe, ehf)
new_ltEs21(zzz888, zzz889, ty_Double) → new_ltEs7(zzz888, zzz889)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Double) → new_esEs25(zzz79800, zzz80400)
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_lt22(zzz961, zzz963, ty_Bool) → new_lt4(zzz961, zzz963)
new_ltEs23(zzz962, zzz964, ty_Int) → new_ltEs8(zzz962, zzz964)
new_lt27(zzz1048, zzz1043, app(app(app(ty_@3, eee), eef), eeg)) → new_lt17(zzz1048, zzz1043, eee, eef, eeg)
new_esEs11(zzz7980, zzz8040, app(app(ty_@2, fhh), gaa)) → new_esEs13(zzz7980, zzz8040, fhh, gaa)
new_esEs4(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(app(ty_@2, gdg), gdh)) → new_ltEs18(zzz8880, zzz8890, gdg, gdh)
new_esEs33(zzz79800, zzz80400, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_compare28(zzz888, zzz889, True, baa) → EQ
new_compare18(LT, EQ) → LT
new_lt20(zzz949, zzz952, ty_Int) → new_lt9(zzz949, zzz952)
new_gt16(zzz867, zzz862, ty_Ordering) → new_gt7(zzz867, zzz862)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Int) → new_ltEs8(zzz8880, zzz8890)
new_esEs29(zzz8881, zzz8891, ty_@0) → new_esEs27(zzz8881, zzz8891)
new_esEs9(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_esEs37(zzz961, zzz963, ty_Ordering) → new_esEs19(zzz961, zzz963)
new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, True, ccb, ccc, ccd) → LT
new_esEs15(zzz79800, zzz80400, app(app(ty_@2, fg), fh)) → new_esEs13(zzz79800, zzz80400, fg, fh)
new_ltEs20(zzz907, zzz908, ty_@0) → new_ltEs13(zzz907, zzz908)
new_esEs36(zzz79800, zzz80400, app(ty_Ratio, fcb)) → new_esEs17(zzz79800, zzz80400, fcb)
new_esEs11(zzz7980, zzz8040, app(ty_[], fhg)) → new_esEs22(zzz7980, zzz8040, fhg)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(ty_Ratio, fdh), bae) → new_ltEs17(zzz8880, zzz8890, fdh)
new_lt27(zzz1048, zzz1043, app(app(ty_Either, eec), eed)) → new_lt11(zzz1048, zzz1043, eec, eed)
new_esEs38(zzz8880, zzz8890, app(ty_Ratio, gcc)) → new_esEs17(zzz8880, zzz8890, gcc)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Integer, bae) → new_ltEs14(zzz8880, zzz8890)
new_lt5(zzz8881, zzz8891, ty_@0) → new_lt14(zzz8881, zzz8891)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Integer, bfa) → new_esEs26(zzz79800, zzz80400)
new_esEs11(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_@0, bae) → new_ltEs13(zzz8880, zzz8890)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs29(zzz8881, zzz8891, ty_Int) → new_esEs28(zzz8881, zzz8891)
new_ltEs5(zzz8882, zzz8892, app(app(app(ty_@3, cff), cfg), cfh)) → new_ltEs4(zzz8882, zzz8892, cff, cfg, cfh)
new_esEs32(zzz79801, zzz80401, ty_Char) → new_esEs18(zzz79801, zzz80401)
new_compare9(:%(zzz7980, zzz7981), :%(zzz8040, zzz8041), ty_Int) → new_compare14(new_sr(zzz7980, zzz8041), new_sr(zzz8040, zzz7981))
new_ltEs10(Left(zzz8880), Left(zzz8890), app(ty_Maybe, fda), bae) → new_ltEs6(zzz8880, zzz8890, fda)
new_esEs32(zzz79801, zzz80401, app(app(ty_@2, dgc), dgd)) → new_esEs13(zzz79801, zzz80401, dgc, dgd)
new_lt22(zzz961, zzz963, app(app(ty_Either, bhh), caa)) → new_lt11(zzz961, zzz963, bhh, caa)
new_esEs14(zzz79801, zzz80401, ty_Float) → new_esEs24(zzz79801, zzz80401)
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_esEs16(@3(zzz79800, zzz79801, zzz79802), @3(zzz80400, zzz80401, zzz80402), cee, cef, ceg) → new_asAs(new_esEs33(zzz79800, zzz80400, cee), new_asAs(new_esEs32(zzz79801, zzz80401, cef), new_esEs31(zzz79802, zzz80402, ceg)))

The set Q consists of the following terms:

new_esEs14(x0, x1, ty_Char)
new_esEs32(x0, x1, ty_Ordering)
new_gt12(x0, x1, x2, x3, x4)
new_ltEs23(x0, x1, ty_Char)
new_ltEs6(Just(x0), Just(x1), ty_Double)
new_esEs11(x0, x1, ty_Integer)
new_esEs36(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_gt16(x0, x1, ty_Float)
new_esEs16(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt21(x0, x1, ty_Integer)
new_ltEs21(x0, x1, ty_Char)
new_esEs15(x0, x1, ty_Integer)
new_lt27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, ty_Int)
new_esEs35(x0, x1, ty_Float)
new_esEs34(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, ty_Int)
new_esEs22([], :(x0, x1), x2)
new_esEs38(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Integer)
new_esEs34(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Char)
new_ltEs21(x0, x1, ty_Int)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs37(x0, x1, ty_Char)
new_ltEs6(Just(x0), Nothing, x1)
new_ltEs10(Right(x0), Right(x1), x2, ty_Integer)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs8(x0, x1, ty_Int)
new_compare25(x0, x1, True, x2, x3)
new_ltEs6(Just(x0), Just(x1), ty_Int)
new_ltEs15(True, True)
new_gt16(x0, x1, app(ty_Ratio, x2))
new_esEs20(Left(x0), Right(x1), x2, x3)
new_esEs20(Right(x0), Left(x1), x2, x3)
new_ltEs10(Right(x0), Right(x1), x2, ty_Int)
new_gt16(x0, x1, ty_Integer)
new_esEs32(x0, x1, ty_Int)
new_gt3(x0, x1)
new_esEs37(x0, x1, app(ty_Ratio, x2))
new_esEs14(x0, x1, ty_Bool)
new_gt16(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs24(x0, x1, ty_Char)
new_esEs21(Just(x0), Just(x1), ty_@0)
new_esEs5(x0, x1, app(ty_Maybe, x2))
new_esEs4(x0, x1, ty_Int)
new_esEs8(x0, x1, ty_Integer)
new_lt27(x0, x1, app(ty_Maybe, x2))
new_ltEs23(x0, x1, ty_@0)
new_ltEs6(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_compare0([], :(x0, x1), x2)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_gt6(x0, x1, x2, x3)
new_lt22(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Float)
new_esEs20(Left(x0), Left(x1), ty_@0, x2)
new_esEs20(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs34(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs14(x0, x1)
new_esEs10(x0, x1, ty_Bool)
new_ltEs24(x0, x1, app(ty_[], x2))
new_lt23(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat0(Zero, Succ(x0))
new_esEs14(x0, x1, ty_Float)
new_esEs36(x0, x1, ty_Integer)
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs33(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, app(ty_Maybe, x2))
new_ltEs10(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, ty_@0)
new_compare111(x0, x1, x2, x3, True, x4, x5)
new_ltEs6(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_lt20(x0, x1, ty_Char)
new_lt23(x0, x1, ty_Integer)
new_primPlusNat1(Zero, Succ(x0))
new_lt9(x0, x1)
new_ltEs19(x0, x1, ty_Int)
new_primEqNat0(Zero, Zero)
new_lt22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, ty_Double)
new_lt5(x0, x1, ty_Char)
new_compare15(x0, x1, True, x2)
new_esEs20(Left(x0), Left(x1), ty_Char, x2)
new_esEs21(Just(x0), Just(x1), ty_Float)
new_esEs11(x0, x1, ty_Bool)
new_esEs10(x0, x1, ty_Double)
new_esEs21(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs6(Just(x0), Just(x1), app(ty_[], x2))
new_esEs20(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs14(x0, x1, ty_Double)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Zero, Zero)
new_esEs7(x0, x1, ty_Integer)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_esEs12(LT)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs31(x0, x1, ty_Double)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_primMulInt(Neg(x0), Neg(x1))
new_lt6(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(Just(x0), Just(x1), app(ty_Ratio, x2))
new_compare18(LT, LT)
new_ltEs10(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs10(x0, x1, ty_@0)
new_esEs8(x0, x1, ty_Double)
new_lt23(x0, x1, ty_Bool)
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, ty_Float)
new_lt23(x0, x1, app(ty_Maybe, x2))
new_esEs21(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs22(x0, x1, ty_Double)
new_esEs37(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat0(Succ(x0), x1)
new_compare8(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs14(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_esEs33(x0, x1, ty_Int)
new_esEs7(x0, x1, ty_Char)
new_ltEs23(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(LT, LT)
new_esEs5(x0, x1, ty_Bool)
new_esEs31(x0, x1, ty_Float)
new_esEs18(Char(x0), Char(x1))
new_ltEs24(x0, x1, ty_@0)
new_esEs38(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(Left(x0), Left(x1), ty_Int, x2)
new_esEs29(x0, x1, ty_Int)
new_esEs35(x0, x1, app(app(ty_Either, x2), x3))
new_esEs38(x0, x1, ty_Float)
new_ltEs10(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_compare31(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Double)
new_compare25(x0, x1, False, x2, x3)
new_primMulNat0(Succ(x0), Zero)
new_esEs20(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs33(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, ty_@0)
new_lt16(x0, x1)
new_ltEs24(x0, x1, app(app(ty_Either, x2), x3))
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, app(ty_[], x2))
new_esEs26(Integer(x0), Integer(x1))
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_compare18(GT, GT)
new_esEs4(x0, x1, ty_Bool)
new_esEs37(x0, x1, ty_@0)
new_esEs22(:(x0, x1), :(x2, x3), x4)
new_compare17(Integer(x0), Integer(x1))
new_lt17(x0, x1, x2, x3, x4)
new_esEs6(x0, x1, ty_Float)
new_ltEs16(EQ, EQ)
new_esEs40(x0, x1, ty_Int)
new_lt22(x0, x1, ty_Bool)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(x0, x1, ty_@0)
new_lt22(x0, x1, ty_Char)
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs5(x0, x1, ty_Char)
new_esEs29(x0, x1, ty_Integer)
new_ltEs22(x0, x1, ty_Integer)
new_lt22(x0, x1, ty_Integer)
new_lt23(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_ltEs16(LT, LT)
new_esEs38(x0, x1, app(app(ty_@2, x2), x3))
new_esEs35(x0, x1, ty_Bool)
new_lt6(x0, x1, ty_Int)
new_compare210(x0, x1, x2, x3, True, x4, x5)
new_lt23(x0, x1, ty_Char)
new_esEs4(x0, x1, ty_Double)
new_lt5(x0, x1, app(ty_Ratio, x2))
new_ltEs6(Just(x0), Just(x1), ty_@0)
new_esEs36(x0, x1, ty_Ordering)
new_compare26(x0, x1, True, x2, x3)
new_esEs11(x0, x1, ty_Double)
new_gt16(x0, x1, ty_Double)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs34(x0, x1, ty_Float)
new_esEs7(x0, x1, ty_Double)
new_esEs32(x0, x1, ty_@0)
new_esEs4(x0, x1, ty_Char)
new_lt23(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs20(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs21(Just(x0), Just(x1), ty_Double)
new_gt11(x0, x1)
new_esEs5(x0, x1, ty_Int)
new_compare31(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Int)
new_esEs23(True, True)
new_ltEs5(x0, x1, ty_@0)
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_ltEs17(x0, x1, x2)
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(Left(x0), Left(x1), ty_Ordering, x2)
new_lt18(x0, x1, x2)
new_gt16(x0, x1, ty_Bool)
new_primMulNat0(Zero, Succ(x0))
new_esEs36(x0, x1, ty_Bool)
new_lt6(x0, x1, ty_Double)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_ltEs6(Just(x0), Just(x1), ty_Bool)
new_compare11(x0, x1, x2, x3, x4, x5, True, x6, x7, x8, x9)
new_esEs38(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs9(x0, x1, ty_Ordering)
new_primEqNat0(Zero, Succ(x0))
new_compare5(False, True)
new_compare5(True, False)
new_esEs8(x0, x1, ty_Float)
new_lt27(x0, x1, ty_Double)
new_esEs14(x0, x1, ty_Integer)
new_esEs37(x0, x1, ty_Bool)
new_ltEs8(x0, x1)
new_ltEs20(x0, x1, ty_@0)
new_ltEs22(x0, x1, ty_Float)
new_esEs11(x0, x1, ty_@0)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs39(x0, x1, ty_Integer)
new_ltEs23(x0, x1, app(ty_[], x2))
new_esEs40(x0, x1, ty_Integer)
new_esEs7(x0, x1, app(ty_[], x2))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs10(x0, x1, ty_Float)
new_esEs33(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs6(Just(x0), Just(x1), ty_Float)
new_ltEs16(GT, GT)
new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(Left(x0), Left(x1), ty_Float, x2)
new_esEs32(x0, x1, ty_Integer)
new_lt13(x0, x1)
new_ltEs10(Right(x0), Right(x1), x2, ty_Char)
new_compare31(x0, x1, ty_Char)
new_compare15(x0, x1, False, x2)
new_lt4(x0, x1)
new_esEs35(x0, x1, ty_@0)
new_esEs24(Float(x0, x1), Float(x2, x3))
new_ltEs10(Left(x0), Left(x1), ty_@0, x2)
new_ltEs24(x0, x1, ty_Integer)
new_lt27(x0, x1, ty_Int)
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt20(x0, x1, ty_Int)
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_lt22(x0, x1, ty_Int)
new_ltEs22(x0, x1, ty_Char)
new_ltEs6(Just(x0), Just(x1), ty_Ordering)
new_esEs36(x0, x1, ty_Int)
new_compare9(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs31(x0, x1, ty_Integer)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs11(x0, x1)
new_esEs5(x0, x1, app(ty_[], x2))
new_gt7(x0, x1)
new_esEs21(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_compare7(Left(x0), Left(x1), x2, x3)
new_esEs20(Right(x0), Right(x1), x2, ty_Float)
new_compare0([], [], x0)
new_lt23(x0, x1, ty_Ordering)
new_esEs33(x0, x1, ty_Char)
new_esEs23(False, True)
new_esEs23(True, False)
new_ltEs21(x0, x1, ty_@0)
new_esEs5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs37(x0, x1, ty_Double)
new_esEs5(x0, x1, ty_Integer)
new_lt22(x0, x1, app(ty_Ratio, x2))
new_compare7(Right(x0), Left(x1), x2, x3)
new_compare7(Left(x0), Right(x1), x2, x3)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(GT, GT)
new_lt20(x0, x1, ty_Double)
new_primPlusNat0(Zero, x0)
new_lt21(x0, x1, ty_Int)
new_esEs11(x0, x1, ty_Char)
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt6(x0, x1, app(ty_Maybe, x2))
new_lt21(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, ty_Bool)
new_esEs7(x0, x1, ty_@0)
new_lt21(x0, x1, ty_Char)
new_esEs15(x0, x1, ty_Double)
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(Right(x0), Right(x1), x2, ty_@0)
new_compare6(Nothing, Just(x0), x1)
new_gt13(x0, x1, x2)
new_esEs8(x0, x1, ty_@0)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_lt14(x0, x1)
new_esEs30(x0, x1, ty_Double)
new_ltEs10(Left(x0), Right(x1), x2, x3)
new_ltEs10(Right(x0), Left(x1), x2, x3)
new_esEs6(x0, x1, app(ty_[], x2))
new_esEs5(x0, x1, ty_Ordering)
new_esEs33(x0, x1, ty_Ordering)
new_esEs7(x0, x1, ty_Int)
new_esEs36(x0, x1, app(ty_Ratio, x2))
new_esEs19(LT, EQ)
new_esEs19(EQ, LT)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_not(True)
new_lt27(x0, x1, ty_@0)
new_esEs35(x0, x1, ty_Double)
new_esEs20(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs15(x0, x1, ty_@0)
new_esEs6(x0, x1, ty_Integer)
new_compare31(x0, x1, app(ty_[], x2))
new_ltEs16(GT, EQ)
new_ltEs16(EQ, GT)
new_gt16(x0, x1, ty_Ordering)
new_esEs6(x0, x1, ty_Ordering)
new_esEs27(@0, @0)
new_primCmpInt(Pos(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_not(False)
new_ltEs16(EQ, LT)
new_ltEs16(LT, EQ)
new_ltEs24(x0, x1, app(ty_Ratio, x2))
new_esEs11(x0, x1, ty_Ordering)
new_gt16(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Bool)
new_esEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, ty_@0)
new_esEs20(Right(x0), Right(x1), x2, ty_Bool)
new_ltEs10(Right(x0), Right(x1), x2, ty_Double)
new_esEs12(EQ)
new_esEs31(x0, x1, ty_@0)
new_compare12(x0, x1, True, x2, x3)
new_gt16(x0, x1, ty_Char)
new_lt20(x0, x1, ty_@0)
new_esEs35(x0, x1, app(ty_Maybe, x2))
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_primCmpNat0(Succ(x0), Zero)
new_asAs(False, x0)
new_esEs14(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Double)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs20(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_compare0(:(x0, x1), [], x2)
new_esEs11(x0, x1, ty_Int)
new_compare31(x0, x1, ty_Ordering)
new_esEs37(x0, x1, app(ty_Maybe, x2))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, ty_@0)
new_esEs15(x0, x1, ty_Char)
new_esEs12(GT)
new_primCompAux0(x0, LT)
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Pos(Zero))
new_lt5(x0, x1, ty_Double)
new_lt5(x0, x1, app(ty_[], x2))
new_esEs20(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs23(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, ty_Bool)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_lt22(x0, x1, ty_Float)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Left(x0), Left(x1), ty_Integer, x2)
new_esEs33(x0, x1, ty_Bool)
new_ltEs22(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs12(x0, x1)
new_lt10(x0, x1, x2)
new_compare111(x0, x1, x2, x3, False, x4, x5)
new_primPlusNat1(Succ(x0), Succ(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_esEs35(x0, x1, app(ty_[], x2))
new_lt6(x0, x1, ty_Integer)
new_esEs34(x0, x1, app(ty_Maybe, x2))
new_esEs34(x0, x1, ty_@0)
new_ltEs10(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_Bool)
new_esEs20(Left(x0), Left(x1), ty_Integer, x2)
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_esEs35(x0, x1, app(ty_Ratio, x2))
new_lt11(x0, x1, x2, x3)
new_esEs36(x0, x1, app(ty_[], x2))
new_esEs39(x0, x1, ty_Int)
new_ltEs19(x0, x1, ty_Double)
new_ltEs10(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_lt21(x0, x1, ty_Float)
new_lt20(x0, x1, ty_Integer)
new_compare112(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_esEs37(x0, x1, ty_Int)
new_lt5(x0, x1, ty_Ordering)
new_esEs38(x0, x1, ty_Char)
new_ltEs5(x0, x1, ty_Bool)
new_gt8(x0, x1)
new_ltEs19(x0, x1, ty_Integer)
new_ltEs9(x0, x1, x2)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs24(x0, x1, ty_Bool)
new_compare27(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs10(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs11(x0, x1, app(ty_[], x2))
new_esEs33(x0, x1, ty_Double)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_compare28(x0, x1, False, x2)
new_esEs17(:%(x0, x1), :%(x2, x3), x4)
new_compare16(Float(x0, x1), Float(x2, x3))
new_ltEs24(x0, x1, ty_Double)
new_ltEs23(x0, x1, app(app(ty_@2, x2), x3))
new_esEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs37(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare112(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_esEs4(x0, x1, app(ty_Maybe, x2))
new_esEs14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_ltEs6(Nothing, Nothing, x0)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_esEs20(Left(x0), Left(x1), ty_Double, x2)
new_esEs31(x0, x1, ty_Char)
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, ty_Ordering)
new_esEs37(x0, x1, ty_Float)
new_ltEs10(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs34(x0, x1, ty_Int)
new_ltEs15(False, False)
new_lt22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt23(x0, x1, ty_Float)
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs21(x0, x1, ty_Bool)
new_esEs8(x0, x1, app(ty_[], x2))
new_esEs38(x0, x1, ty_Int)
new_compare11(x0, x1, x2, x3, x4, x5, False, x6, x7, x8, x9)
new_esEs38(x0, x1, ty_Ordering)
new_lt7(x0, x1, x2)
new_esEs31(x0, x1, ty_Ordering)
new_esEs38(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt27(x0, x1, ty_Ordering)
new_ltEs23(x0, x1, ty_Bool)
new_ltEs22(x0, x1, ty_Int)
new_ltEs6(Nothing, Just(x0), x1)
new_sr(x0, x1)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_ltEs22(x0, x1, ty_@0)
new_lt27(x0, x1, ty_Char)
new_esEs15(x0, x1, ty_Bool)
new_esEs35(x0, x1, ty_Ordering)
new_compare26(x0, x1, False, x2, x3)
new_lt15(x0, x1)
new_lt27(x0, x1, ty_Integer)
new_ltEs5(x0, x1, ty_Int)
new_esEs13(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs10(x0, x1, ty_Char)
new_esEs6(x0, x1, ty_Char)
new_lt22(x0, x1, ty_@0)
new_esEs23(False, False)
new_gt0(x0, x1)
new_esEs33(x0, x1, app(ty_Maybe, x2))
new_lt21(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_esEs36(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Integer)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_gt5(x0, x1, x2)
new_lt6(x0, x1, ty_@0)
new_esEs38(x0, x1, ty_Integer)
new_lt22(x0, x1, app(app(ty_@2, x2), x3))
new_lt6(x0, x1, ty_Float)
new_esEs5(x0, x1, ty_Double)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs38(x0, x1, app(ty_Ratio, x2))
new_fsEs(x0)
new_ltEs5(x0, x1, ty_Ordering)
new_ltEs10(Left(x0), Left(x1), ty_Double, x2)
new_lt6(x0, x1, ty_Bool)
new_lt21(x0, x1, ty_Bool)
new_lt27(x0, x1, ty_Float)
new_esEs34(x0, x1, ty_Ordering)
new_esEs32(x0, x1, ty_Bool)
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_esEs5(x0, x1, app(ty_Ratio, x2))
new_esEs6(x0, x1, ty_Int)
new_ltEs22(x0, x1, app(ty_Maybe, x2))
new_ltEs10(Left(x0), Left(x1), ty_Int, x2)
new_ltEs22(x0, x1, app(ty_Ratio, x2))
new_compare29(Char(x0), Char(x1))
new_asAs(True, x0)
new_esEs4(x0, x1, ty_Float)
new_gt16(x0, x1, app(ty_[], x2))
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_lt23(x0, x1, ty_Double)
new_lt21(x0, x1, ty_Double)
new_esEs7(x0, x1, ty_Ordering)
new_compare18(LT, EQ)
new_compare18(EQ, LT)
new_primCompAux1(x0, x1, x2, x3)
new_esEs33(x0, x1, ty_@0)
new_esEs8(x0, x1, ty_Bool)
new_esEs6(x0, x1, ty_Bool)
new_ltEs6(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs21(Nothing, Just(x0), x1)
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(Just(x0), Just(x1), ty_Integer)
new_esEs33(x0, x1, ty_Integer)
new_esEs19(EQ, GT)
new_esEs19(GT, EQ)
new_primMulNat0(Succ(x0), Succ(x1))
new_lt27(x0, x1, app(app(ty_@2, x2), x3))
new_compare210(x0, x1, x2, x3, False, x4, x5)
new_esEs34(x0, x1, ty_Char)
new_ltEs5(x0, x1, ty_Float)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare19(Double(x0, x1), Double(x2, x3))
new_esEs37(x0, x1, ty_Ordering)
new_esEs22([], [], x0)
new_ltEs10(Right(x0), Right(x1), x2, ty_@0)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs36(x0, x1, ty_Char)
new_esEs8(x0, x1, ty_Ordering)
new_esEs41(GT)
new_esEs34(x0, x1, app(ty_Ratio, x2))
new_esEs34(x0, x1, app(ty_[], x2))
new_esEs14(x0, x1, ty_@0)
new_ltEs6(Just(x0), Just(x1), ty_Integer)
new_ltEs22(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, ty_Ordering)
new_lt6(x0, x1, ty_Char)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_compare18(GT, LT)
new_compare18(LT, GT)
new_esEs15(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_compare5(True, True)
new_lt21(x0, x1, ty_Ordering)
new_esEs15(x0, x1, app(ty_Maybe, x2))
new_ltEs23(x0, x1, ty_Double)
new_esEs32(x0, x1, ty_Char)
new_primPlusNat1(Zero, Zero)
new_esEs38(x0, x1, ty_Double)
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_esEs20(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs19(x0, x1, ty_Float)
new_lt27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs15(x0, x1, app(ty_[], x2))
new_primEqNat0(Succ(x0), Zero)
new_compare31(x0, x1, ty_Float)
new_ltEs23(x0, x1, ty_Int)
new_esEs4(x0, x1, ty_@0)
new_gt16(x0, x1, ty_Int)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, ty_Integer)
new_esEs32(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primPlusNat1(Succ(x0), Zero)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs10(x0, x1, ty_Int)
new_ltEs5(x0, x1, app(ty_[], x2))
new_ltEs10(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs14(x0, x1, app(ty_[], x2))
new_ltEs24(x0, x1, app(ty_Maybe, x2))
new_esEs21(Just(x0), Nothing, x1)
new_ltEs19(x0, x1, ty_Ordering)
new_esEs41(EQ)
new_compare7(Right(x0), Right(x1), x2, x3)
new_lt20(x0, x1, ty_Ordering)
new_ltEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt23(x0, x1, ty_Int)
new_esEs36(x0, x1, ty_@0)
new_esEs36(x0, x1, app(app(ty_@2, x2), x3))
new_gt10(x0, x1, x2)
new_esEs10(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(ty_[], x2))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs10(x0, x1, app(ty_[], x2))
new_ltEs10(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs16(LT, GT)
new_ltEs16(GT, LT)
new_esEs8(x0, x1, ty_Char)
new_esEs4(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, ty_Char)
new_esEs34(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs15(True, False)
new_esEs35(x0, x1, ty_Int)
new_ltEs15(False, True)
new_ltEs10(Right(x0), Right(x1), x2, ty_Float)
new_ltEs18(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt5(x0, x1, ty_Integer)
new_compare12(x0, x1, False, x2, x3)
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs20(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primCompAux0(x0, EQ)
new_gt16(x0, x1, ty_@0)
new_esEs15(x0, x1, app(app(ty_Either, x2), x3))
new_compare13(@0, @0)
new_esEs9(x0, x1, ty_Float)
new_ltEs23(x0, x1, ty_Float)
new_esEs5(x0, x1, ty_Float)
new_esEs34(x0, x1, ty_Double)
new_ltEs22(x0, x1, ty_Bool)
new_lt12(x0, x1)
new_ltEs19(x0, x1, ty_Bool)
new_ltEs20(x0, x1, ty_Bool)
new_esEs4(x0, x1, app(ty_[], x2))
new_esEs37(x0, x1, app(ty_[], x2))
new_esEs14(x0, x1, ty_Int)
new_gt1(x0, x1, x2, x3)
new_esEs33(x0, x1, ty_Float)
new_esEs31(x0, x1, ty_Int)
new_lt23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt8(x0, x1)
new_esEs4(x0, x1, ty_Integer)
new_esEs20(Right(x0), Right(x1), x2, ty_Double)
new_esEs7(x0, x1, ty_Float)
new_ltEs23(x0, x1, app(ty_Ratio, x2))
new_ltEs5(x0, x1, ty_Integer)
new_esEs36(x0, x1, ty_Float)
new_compare6(Just(x0), Just(x1), x2)
new_esEs37(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs22(x0, x1, ty_Ordering)
new_ltEs22(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, ty_Char)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, ty_Char)
new_compare28(x0, x1, True, x2)
new_esEs31(x0, x1, app(ty_[], x2))
new_lt5(x0, x1, ty_Float)
new_gt16(x0, x1, app(ty_Maybe, x2))
new_esEs20(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs32(x0, x1, app(ty_[], x2))
new_lt19(x0, x1, x2, x3)
new_esEs29(x0, x1, ty_Float)
new_esEs21(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs36(x0, x1, app(app(ty_Either, x2), x3))
new_pePe(False, x0)
new_ltEs13(x0, x1)
new_esEs35(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Left(x0), Left(x1), ty_Char, x2)
new_lt22(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(ty_[], x2))
new_compare9(:%(x0, x1), :%(x2, x3), ty_Integer)
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Float)
new_esEs21(Just(x0), Just(x1), ty_Ordering)
new_esEs20(Right(x0), Right(x1), x2, app(ty_[], x3))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs9(x0, x1, ty_Double)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_esEs35(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs33(x0, x1, app(ty_[], x2))
new_primCmpNat0(Zero, Zero)
new_compare31(x0, x1, ty_Integer)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs24(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(x0, x1, True, x2, x3)
new_compare31(x0, x1, ty_Int)
new_primCompAux0(x0, GT)
new_ltEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs32(x0, x1, ty_Double)
new_esEs7(x0, x1, ty_Bool)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs11(x0, x1, ty_Float)
new_esEs21(Nothing, Nothing, x0)
new_lt23(x0, x1, ty_@0)
new_esEs14(x0, x1, ty_Ordering)
new_gt2(x0, x1)
new_pePe(True, x0)
new_sr0(Integer(x0), Integer(x1))
new_ltEs7(x0, x1)
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs5(x0, x1, ty_Char)
new_esEs30(x0, x1, ty_Float)
new_esEs37(x0, x1, ty_Integer)
new_compare30(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs19(EQ, EQ)
new_esEs41(LT)
new_lt27(x0, x1, ty_Bool)
new_compare18(EQ, GT)
new_compare18(GT, EQ)
new_lt22(x0, x1, app(ty_[], x2))
new_esEs14(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, ty_@0)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs21(x0, x1, ty_Integer)
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_gt4(x0, x1)
new_compare5(False, False)
new_esEs15(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(LT, GT)
new_esEs19(GT, LT)
new_ltEs23(x0, x1, ty_Ordering)
new_ltEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(x0, x1, ty_Double)
new_gt9(x0, x1)
new_lt6(x0, x1, ty_Ordering)
new_esEs21(Just(x0), Just(x1), ty_Char)
new_lt5(x0, x1, ty_Bool)
new_esEs15(x0, x1, app(ty_Ratio, x2))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_esEs33(x0, x1, app(app(ty_@2, x2), x3))
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_esEs34(x0, x1, ty_Bool)
new_compare6(Nothing, Nothing, x0)
new_ltEs6(Just(x0), Just(x1), ty_Char)
new_ltEs19(x0, x1, ty_@0)
new_esEs20(Right(x0), Right(x1), x2, ty_Int)
new_lt21(x0, x1, ty_@0)
new_ltEs23(x0, x1, ty_Integer)
new_esEs20(Left(x0), Left(x1), ty_Bool, x2)
new_compare110(x0, x1, x2, x3, False, x4, x5, x6)
new_esEs20(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs21(Just(x0), Just(x1), ty_Int)
new_esEs22(:(x0, x1), [], x2)
new_ltEs24(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Char)
new_esEs15(x0, x1, ty_Float)
new_ltEs10(Left(x0), Left(x1), app(ty_[], x2), x3)
new_compare110(x0, x1, x2, x3, True, x4, x5, x6)
new_esEs29(x0, x1, ty_Ordering)
new_esEs30(x0, x1, ty_Ordering)
new_ltEs10(Left(x0), Left(x1), ty_Float, x2)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs6(x0, x1, ty_Double)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs28(x0, x1)
new_esEs38(x0, x1, app(ty_[], x2))
new_esEs14(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_esEs25(Double(x0, x1), Double(x2, x3))
new_ltEs21(x0, x1, ty_Double)
new_esEs20(Right(x0), Right(x1), x2, ty_Char)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_esEs15(x0, x1, ty_Int)
new_esEs38(x0, x1, ty_@0)
new_esEs36(x0, x1, ty_Double)
new_gt16(x0, x1, app(app(ty_@2, x2), x3))
new_compare14(x0, x1)
new_esEs9(x0, x1, ty_Bool)
new_esEs35(x0, x1, ty_Char)
new_ltEs20(x0, x1, ty_Int)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs24(x0, x1, ty_Int)
new_compare18(EQ, EQ)
new_esEs35(x0, x1, ty_Integer)
new_compare6(Just(x0), Nothing, x1)
new_compare10(x0, x1, False, x2, x3)
new_ltEs10(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs31(x0, x1, ty_Bool)
new_esEs21(Just(x0), Just(x1), ty_Bool)
new_esEs21(Just(x0), Just(x1), app(ty_Ratio, x2))
new_lt21(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(x0, x1, ty_Integer)
new_ltEs6(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, app(ty_[], x2))
new_lt27(x0, x1, app(ty_[], x2))
new_lt6(x0, x1, app(ty_[], x2))
new_lt27(x0, x1, app(ty_Ratio, x2))
new_lt22(x0, x1, app(ty_Maybe, x2))
new_primCmpNat0(Succ(x0), Succ(x1))
new_primMulInt(Pos(x0), Pos(x1))
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_ltEs24(x0, x1, ty_Float)
new_compare27(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_esEs6(x0, x1, ty_@0)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof

Q DP problem:
The TRS P consists of the following rules:

new_intersectFM_C2IntersectFM_C11(zzz862, zzz863, zzz864, zzz865, zzz866, zzz867, zzz868, zzz869, zzz870, zzz871, zzz872, zzz873, zzz874, zzz875, zzz876, zzz877, False, cb, cc, cd, ce, cf) → new_intersectFM_C(zzz868, new_intersectFM_C2Lts(zzz862, zzz863, zzz864, zzz865, zzz866, zzz867, cb, ce), zzz871, cb, cc, cd, ce)
new_intersectFM_C(zzz3, Branch(zzz40, zzz41, zzz42, zzz43, zzz44), Branch(zzz50, zzz51, zzz52, zzz53, zzz54), cg, da, db, dc) → new_intersectFM_C2IntersectFM_C1(zzz40, zzz41, zzz42, zzz43, zzz44, zzz50, zzz3, zzz51, zzz52, zzz53, zzz54, zzz40, zzz41, zzz42, zzz43, zzz44, cg, da, db, dc, dc)
new_intersectFM_C2IntersectFM_C1(zzz793, zzz794, zzz795, zzz796, zzz797, zzz798, zzz799, zzz800, zzz801, zzz802, zzz803, zzz804, zzz805, zzz806, zzz807, zzz808, h, ba, bb, bc, bd) → new_intersectFM_C2IntersectFM_C10(zzz793, zzz794, zzz795, zzz796, zzz797, zzz798, zzz799, zzz800, zzz801, zzz802, zzz803, zzz804, zzz805, zzz806, zzz807, zzz808, new_lt28(zzz798, zzz804, h), h, ba, bb, bc, bd)
new_intersectFM_C2IntersectFM_C10(zzz827, zzz828, zzz829, zzz830, zzz831, zzz832, zzz833, zzz834, zzz835, zzz836, zzz837, zzz838, zzz839, zzz840, zzz841, zzz842, False, be, bf, bg, bh, ca) → new_intersectFM_C2IntersectFM_C11(zzz827, zzz828, zzz829, zzz830, zzz831, zzz832, zzz833, zzz834, zzz835, zzz836, zzz837, zzz838, zzz839, zzz840, zzz841, zzz842, new_gt17(zzz832, zzz838, be), be, bf, bg, bh, ca)
new_intersectFM_C2IntersectFM_C10(zzz827, zzz828, zzz829, zzz830, zzz831, zzz832, zzz833, zzz834, zzz835, zzz836, zzz837, zzz838, zzz839, zzz840, EmptyFM, zzz842, True, be, bf, bg, bh, ca) → new_intersectFM_C(zzz833, new_intersectFM_C2Gts(zzz827, zzz828, zzz829, zzz830, zzz831, zzz832, be, bh), zzz837, be, bf, bg, bh)
new_intersectFM_C2IntersectFM_C11(zzz862, zzz863, zzz864, zzz865, zzz866, zzz867, zzz868, zzz869, zzz870, zzz871, zzz872, zzz873, zzz874, zzz875, zzz876, zzz877, False, cb, cc, cd, ce, cf) → new_intersectFM_C(zzz868, new_intersectFM_C2Gts(zzz862, zzz863, zzz864, zzz865, zzz866, zzz867, cb, ce), zzz872, cb, cc, cd, ce)
new_intersectFM_C2IntersectFM_C12(zzz827, zzz828, zzz829, zzz830, zzz831, zzz832, zzz833, zzz834, zzz835, zzz836, zzz837, EmptyFM, be, bf, bg, bh, ca) → new_intersectFM_C(zzz833, new_intersectFM_C2Gts(zzz827, zzz828, zzz829, zzz830, zzz831, zzz832, be, bh), zzz837, be, bf, bg, bh)
new_intersectFM_C2IntersectFM_C11(zzz862, zzz863, zzz864, zzz865, zzz866, zzz867, zzz868, zzz869, zzz870, zzz871, zzz872, zzz873, zzz874, zzz875, zzz876, zzz877, True, cb, cc, cd, ce, cf) → new_intersectFM_C2IntersectFM_C12(zzz862, zzz863, zzz864, zzz865, zzz866, zzz867, zzz868, zzz869, zzz870, zzz871, zzz872, zzz877, cb, cc, cd, ce, cf)
new_intersectFM_C2IntersectFM_C10(zzz827, zzz828, zzz829, zzz830, zzz831, zzz832, zzz833, zzz834, zzz835, zzz836, zzz837, zzz838, zzz839, zzz840, EmptyFM, zzz842, True, be, bf, bg, bh, ca) → new_intersectFM_C(zzz833, new_intersectFM_C2Lts(zzz827, zzz828, zzz829, zzz830, zzz831, zzz832, be, bh), zzz836, be, bf, bg, bh)
new_intersectFM_C2IntersectFM_C10(zzz827, zzz828, zzz829, zzz830, zzz831, zzz832, zzz833, zzz834, zzz835, zzz836, zzz837, zzz838, zzz839, zzz840, Branch(zzz8410, zzz8411, zzz8412, zzz8413, zzz8414), zzz842, True, be, bf, bg, bh, ca) → new_intersectFM_C2IntersectFM_C1(zzz827, zzz828, zzz829, zzz830, zzz831, zzz832, zzz833, zzz834, zzz835, zzz836, zzz837, zzz8410, zzz8411, zzz8412, zzz8413, zzz8414, be, bf, bg, bh, ca)
new_intersectFM_C2IntersectFM_C12(zzz827, zzz828, zzz829, zzz830, zzz831, zzz832, zzz833, zzz834, zzz835, zzz836, zzz837, Branch(zzz8410, zzz8411, zzz8412, zzz8413, zzz8414), be, bf, bg, bh, ca) → new_intersectFM_C2IntersectFM_C1(zzz827, zzz828, zzz829, zzz830, zzz831, zzz832, zzz833, zzz834, zzz835, zzz836, zzz837, zzz8410, zzz8411, zzz8412, zzz8413, zzz8414, be, bf, bg, bh, ca)
new_intersectFM_C2IntersectFM_C12(zzz827, zzz828, zzz829, zzz830, zzz831, zzz832, zzz833, zzz834, zzz835, zzz836, zzz837, EmptyFM, be, bf, bg, bh, ca) → new_intersectFM_C(zzz833, new_intersectFM_C2Lts(zzz827, zzz828, zzz829, zzz830, zzz831, zzz832, be, bh), zzz836, be, bf, bg, bh)

The TRS R consists of the following rules:

new_gt16(zzz867, zzz862, ty_@0) → new_gt3(zzz867, zzz862)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Ordering, bcb) → new_ltEs16(zzz8880, zzz8890)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Double) → new_ltEs7(zzz8880, zzz8890)
new_ltEs19(zzz950, zzz953, ty_Ordering) → new_ltEs16(zzz950, zzz953)
new_esEs18(Char(zzz79800), Char(zzz80400)) → new_primEqNat0(zzz79800, zzz80400)
new_gt15(zzz1063, zzz1058, ty_Float) → new_gt8(zzz1063, zzz1058)
new_esEs30(zzz8880, zzz8890, ty_Double) → new_esEs25(zzz8880, zzz8890)
new_lt27(zzz1048, zzz1043, app(ty_Ratio, dcb)) → new_lt18(zzz1048, zzz1043, dcb)
new_ltEs24(zzz8881, zzz8891, app(app(app(ty_@3, hab), hac), had)) → new_ltEs4(zzz8881, zzz8891, hab, hac, had)
new_lt12(zzz798, zzz804) → new_esEs12(new_compare16(zzz798, zzz804))
new_esEs8(zzz7981, zzz8041, ty_Double) → new_esEs25(zzz7981, zzz8041)
new_ltEs21(zzz888, zzz889, app(ty_[], bbh)) → new_ltEs9(zzz888, zzz889, bbh)
new_splitLT10(zzz1100, zzz1101, zzz1102, zzz1103, zzz1104, zzz1105, False, cgg, cgh) → zzz1103
new_esEs5(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_lt14(zzz798, zzz804) → new_esEs12(new_compare13(zzz798, zzz804))
new_lt26(zzz867, zzz862, ty_Ordering) → new_lt16(zzz867, zzz862)
new_compare11(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, True, zzz1033, cee, cef, ceg) → new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, True, cee, cef, ceg)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_esEs21(Just(zzz79800), Just(zzz80400), app(app(app(ty_@3, de), df), dg)) → new_esEs16(zzz79800, zzz80400, de, df, dg)
new_esEs32(zzz79801, zzz80401, ty_@0) → new_esEs27(zzz79801, zzz80401)
new_esEs32(zzz79801, zzz80401, app(app(app(ty_@3, eeb), eec), eed)) → new_esEs16(zzz79801, zzz80401, eeb, eec, eed)
new_esEs37(zzz961, zzz963, app(app(ty_@2, cda), cdb)) → new_esEs13(zzz961, zzz963, cda, cdb)
new_lt21(zzz948, zzz951, app(ty_Maybe, fbe)) → new_lt7(zzz948, zzz951, fbe)
new_ltEs21(zzz888, zzz889, app(ty_Maybe, bbg)) → new_ltEs6(zzz888, zzz889, bbg)
new_ltEs10(Right(zzz8880), Right(zzz8890), bca, ty_Float) → new_ltEs11(zzz8880, zzz8890)
new_ltEs19(zzz950, zzz953, ty_Float) → new_ltEs11(zzz950, zzz953)
new_ltEs6(Nothing, Just(zzz8890), bbg) → True
new_esEs32(zzz79801, zzz80401, ty_Integer) → new_esEs26(zzz79801, zzz80401)
new_esEs9(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_ltEs20(zzz907, zzz908, ty_Double) → new_ltEs7(zzz907, zzz908)
new_lt11(zzz798, zzz804, hf, hg) → new_esEs12(new_compare7(zzz798, zzz804, hf, hg))
new_esEs36(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs29(zzz8881, zzz8891, app(ty_[], ddh)) → new_esEs22(zzz8881, zzz8891, ddh)
new_esEs32(zzz79801, zzz80401, app(app(ty_Either, eef), eeg)) → new_esEs20(zzz79801, zzz80401, eef, eeg)
new_compare16(Float(zzz7980, zzz7981), Float(zzz8040, zzz8041)) → new_compare14(new_sr(zzz7980, zzz8040), new_sr(zzz7981, zzz8041))
new_lt26(zzz867, zzz862, app(app(ty_Either, daa), dab)) → new_lt11(zzz867, zzz862, daa, dab)
new_esEs11(zzz7980, zzz8040, app(ty_Ratio, ggg)) → new_esEs17(zzz7980, zzz8040, ggg)
new_esEs38(zzz8880, zzz8890, ty_Bool) → new_esEs23(zzz8880, zzz8890)
new_esEs4(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_esEs10(zzz7981, zzz8041, app(app(app(ty_@3, gfb), gfc), gfd)) → new_esEs16(zzz7981, zzz8041, gfb, gfc, gfd)
new_esEs14(zzz79801, zzz80401, app(app(ty_Either, ff), fg)) → new_esEs20(zzz79801, zzz80401, ff, fg)
new_ltEs19(zzz950, zzz953, ty_Integer) → new_ltEs14(zzz950, zzz953)
new_lt26(zzz867, zzz862, ty_Int) → new_lt9(zzz867, zzz862)
new_esEs34(zzz949, zzz952, app(ty_Maybe, fac)) → new_esEs21(zzz949, zzz952, fac)
new_gt16(zzz867, zzz862, ty_Float) → new_gt8(zzz867, zzz862)
new_esEs4(zzz7980, zzz8040, app(app(ty_Either, cad), bhd)) → new_esEs20(zzz7980, zzz8040, cad, bhd)
new_lt28(zzz798, zzz804, app(app(ty_Either, hf), hg)) → new_lt11(zzz798, zzz804, hf, hg)
new_lt26(zzz867, zzz862, app(ty_Ratio, daf)) → new_lt18(zzz867, zzz862, daf)
new_esEs38(zzz8880, zzz8890, app(ty_[], hba)) → new_esEs22(zzz8880, zzz8890, hba)
new_lt5(zzz8881, zzz8891, app(app(app(ty_@3, dec), ded), dee)) → new_lt17(zzz8881, zzz8891, dec, ded, dee)
new_esEs5(zzz7980, zzz8040, app(ty_Ratio, dgf)) → new_esEs17(zzz7980, zzz8040, dgf)
new_ltEs20(zzz907, zzz908, app(app(ty_@2, bbb), bbc)) → new_ltEs18(zzz907, zzz908, bbb, bbc)
new_esEs14(zzz79801, zzz80401, ty_Double) → new_esEs25(zzz79801, zzz80401)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Float, bcb) → new_ltEs11(zzz8880, zzz8890)
new_ltEs10(Right(zzz8880), Right(zzz8890), bca, app(app(ty_@2, gee), gef)) → new_ltEs18(zzz8880, zzz8890, gee, gef)
new_lt5(zzz8881, zzz8891, ty_Integer) → new_lt15(zzz8881, zzz8891)
new_gt15(zzz1063, zzz1058, ty_Char) → new_gt9(zzz1063, zzz1058)
new_esEs4(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_ltEs23(zzz962, zzz964, ty_Float) → new_ltEs11(zzz962, zzz964)
new_esEs15(zzz79800, zzz80400, app(app(app(ty_@3, gd), ge), gf)) → new_esEs16(zzz79800, zzz80400, gd, ge, gf)
new_lt6(zzz8880, zzz8890, app(app(ty_@2, dga), dgb)) → new_lt19(zzz8880, zzz8890, dga, dgb)
new_ltEs20(zzz907, zzz908, app(ty_[], bac)) → new_ltEs9(zzz907, zzz908, bac)
new_mkVBalBranch0(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), bde, bdf) → new_mkVBalBranch3MkVBalBranch20(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_lt9(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, bde, bdf)), new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, bde, bdf)), bde, bdf)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Float) → new_ltEs11(zzz8880, zzz8890)
new_compare18(GT, EQ) → GT
new_esEs38(zzz8880, zzz8890, app(app(ty_Either, hbb), hbc)) → new_esEs20(zzz8880, zzz8890, hbb, hbc)
new_esEs7(zzz7982, zzz8042, app(ty_[], fdg)) → new_esEs22(zzz7982, zzz8042, fdg)
new_compare31(zzz7980, zzz8040, ty_Char) → new_compare29(zzz7980, zzz8040)
new_ltEs22(zzz900, zzz901, app(ty_Ratio, bgd)) → new_ltEs17(zzz900, zzz901, bgd)
new_esEs4(zzz7980, zzz8040, app(app(app(ty_@3, chb), chc), chd)) → new_esEs16(zzz7980, zzz8040, chb, chc, chd)
new_compare29(Char(zzz7980), Char(zzz8040)) → new_primCmpNat0(zzz7980, zzz8040)
new_lt27(zzz1048, zzz1043, app(app(ty_@2, dcc), dcd)) → new_lt19(zzz1048, zzz1043, dcc, dcd)
new_compare110(zzz1009, zzz1010, zzz1011, zzz1012, True, zzz1014, bfa, bfb) → new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, True, bfa, bfb)
new_ltEs23(zzz962, zzz964, app(app(ty_Either, cde), cdf)) → new_ltEs10(zzz962, zzz964, cde, cdf)
new_esEs36(zzz79800, zzz80400, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_esEs33(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, bde, bdf) → new_sizeFM(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, bde, bdf)
new_lt20(zzz949, zzz952, ty_Float) → new_lt12(zzz949, zzz952)
new_lt28(zzz798, zzz804, app(app(app(ty_@3, ece), ecf), ecg)) → new_lt17(zzz798, zzz804, ece, ecf, ecg)
new_lt9(zzz798, zzz804) → new_esEs12(new_compare14(zzz798, zzz804))
new_ltEs5(zzz8882, zzz8892, ty_Bool) → new_ltEs15(zzz8882, zzz8892)
new_compare30(@2(zzz7980, zzz7981), @2(zzz8040, zzz8041), cfc, cfd) → new_compare210(zzz7980, zzz7981, zzz8040, zzz8041, new_asAs(new_esEs11(zzz7980, zzz8040, cfc), new_esEs10(zzz7981, zzz8041, cfd)), cfc, cfd)
new_gt14(zzz1187, zzz1182, ty_Integer) → new_gt0(zzz1187, zzz1182)
new_ltEs24(zzz8881, zzz8891, app(ty_Ratio, hae)) → new_ltEs17(zzz8881, zzz8891, hae)
new_lt23(zzz8880, zzz8890, ty_Bool) → new_lt4(zzz8880, zzz8890)
new_lt20(zzz949, zzz952, ty_Bool) → new_lt4(zzz949, zzz952)
new_pePe(False, zzz1074) → zzz1074
new_esEs19(GT, GT) → True
new_esEs35(zzz948, zzz951, app(app(ty_@2, fce), fcf)) → new_esEs13(zzz948, zzz951, fce, fcf)
new_ltEs24(zzz8881, zzz8891, ty_Integer) → new_ltEs14(zzz8881, zzz8891)
new_lt23(zzz8880, zzz8890, app(ty_Maybe, hah)) → new_lt7(zzz8880, zzz8890, hah)
new_lt21(zzz948, zzz951, app(ty_Ratio, fcd)) → new_lt18(zzz948, zzz951, fcd)
new_compare5(False, False) → EQ
new_compare31(zzz7980, zzz8040, ty_@0) → new_compare13(zzz7980, zzz8040)
new_esEs34(zzz949, zzz952, app(ty_Ratio, fbb)) → new_esEs17(zzz949, zzz952, fbb)
new_gt16(zzz867, zzz862, ty_Char) → new_gt9(zzz867, zzz862)
new_esEs31(zzz79802, zzz80402, app(app(ty_Either, edd), ede)) → new_esEs20(zzz79802, zzz80402, edd, ede)
new_ltEs22(zzz900, zzz901, ty_Ordering) → new_ltEs16(zzz900, zzz901)
new_esEs8(zzz7981, zzz8041, app(app(app(ty_@3, feb), fec), fed)) → new_esEs16(zzz7981, zzz8041, feb, fec, fed)
new_esEs33(zzz79800, zzz80400, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_lt5(zzz8881, zzz8891, ty_Char) → new_lt13(zzz8881, zzz8891)
new_esEs12(GT) → False
new_esEs9(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_compare31(zzz7980, zzz8040, ty_Int) → new_compare14(zzz7980, zzz8040)
new_ltEs19(zzz950, zzz953, ty_Int) → new_ltEs8(zzz950, zzz953)
new_addToFM_C20(zzz1182, zzz1183, zzz1184, zzz1185, zzz1186, zzz1187, zzz1188, True, eag, eah) → new_mkBalBranch(zzz1182, zzz1183, new_addToFM_C0(zzz1185, zzz1187, zzz1188, eag, eah), zzz1186, eag, eah)
new_compare26(zzz907, zzz908, False, hh, baa) → new_compare12(zzz907, zzz908, new_ltEs20(zzz907, zzz908, baa), hh, baa)
new_ltEs24(zzz8881, zzz8891, ty_Int) → new_ltEs8(zzz8881, zzz8891)
new_esEs9(zzz7980, zzz8040, app(app(app(ty_@3, ffd), ffe), fff)) → new_esEs16(zzz7980, zzz8040, ffd, ffe, fff)
new_esEs34(zzz949, zzz952, app(app(app(ty_@3, fag), fah), fba)) → new_esEs16(zzz949, zzz952, fag, fah, fba)
new_addToFM(zzz1089, zzz1085, zzz1086, bde, bdf) → new_addToFM_C0(zzz1089, zzz1085, zzz1086, bde, bdf)
new_esEs33(zzz79800, zzz80400, app(app(app(ty_@3, efd), efe), eff)) → new_esEs16(zzz79800, zzz80400, efd, efe, eff)
new_lt22(zzz961, zzz963, ty_Float) → new_lt12(zzz961, zzz963)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_ltEs19(zzz950, zzz953, app(app(ty_Either, ehc), ehd)) → new_ltEs10(zzz950, zzz953, ehc, ehd)
new_esEs24(Float(zzz79800, zzz79801), Float(zzz80400, zzz80401)) → new_esEs28(new_sr(zzz79800, zzz80400), new_sr(zzz79801, zzz80401))
new_esEs21(Just(zzz79800), Just(zzz80400), app(ty_Maybe, ec)) → new_esEs21(zzz79800, zzz80400, ec)
new_esEs21(Nothing, Nothing, dd) → True
new_lt26(zzz867, zzz862, ty_@0) → new_lt14(zzz867, zzz862)
new_pePe(True, zzz1074) → True
new_compare0([], [], bdb) → EQ
new_primEqNat0(Zero, Zero) → True
new_ltEs10(Right(zzz8880), Right(zzz8890), bca, ty_Ordering) → new_ltEs16(zzz8880, zzz8890)
new_gt17(zzz832, zzz838, app(app(ty_Either, bbd), bbe)) → new_gt1(zzz832, zzz838, bbd, bbe)
new_esEs5(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Char, bhd) → new_esEs18(zzz79800, zzz80400)
new_esEs32(zzz79801, zzz80401, app(ty_[], efa)) → new_esEs22(zzz79801, zzz80401, efa)
new_esEs12(EQ) → False
new_ltEs20(zzz907, zzz908, ty_Integer) → new_ltEs14(zzz907, zzz908)
new_esEs20(Right(zzz79800), Right(zzz80400), cad, app(ty_Maybe, cbc)) → new_esEs21(zzz79800, zzz80400, cbc)
new_esEs23(False, False) → True
new_ltEs16(EQ, LT) → False
new_esEs6(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_lt6(zzz8880, zzz8890, ty_Int) → new_lt9(zzz8880, zzz8890)
new_ltEs23(zzz962, zzz964, ty_Integer) → new_ltEs14(zzz962, zzz964)
new_esEs30(zzz8880, zzz8890, app(app(app(ty_@3, dfe), dff), dfg)) → new_esEs16(zzz8880, zzz8890, dfe, dff, dfg)
new_lt27(zzz1048, zzz1043, app(ty_Maybe, dbc)) → new_lt7(zzz1048, zzz1043, dbc)
new_esEs31(zzz79802, zzz80402, ty_Int) → new_esEs28(zzz79802, zzz80402)
new_ltEs16(GT, EQ) → False
new_esEs37(zzz961, zzz963, app(ty_Maybe, cca)) → new_esEs21(zzz961, zzz963, cca)
new_esEs38(zzz8880, zzz8890, ty_Char) → new_esEs18(zzz8880, zzz8890)
new_compare12(zzz991, zzz992, False, fgf, fgg) → GT
new_esEs36(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_esEs7(zzz7982, zzz8042, app(ty_Maybe, fdf)) → new_esEs21(zzz7982, zzz8042, fdf)
new_gt16(zzz867, zzz862, app(ty_[], chh)) → new_gt5(zzz867, zzz862, chh)
new_esEs30(zzz8880, zzz8890, app(ty_[], dfb)) → new_esEs22(zzz8880, zzz8890, dfb)
new_ltEs10(Right(zzz8880), Right(zzz8890), bca, ty_@0) → new_ltEs13(zzz8880, zzz8890)
new_esEs39(zzz79801, zzz80401, ty_Integer) → new_esEs26(zzz79801, zzz80401)
new_esEs21(Just(zzz79800), Just(zzz80400), app(app(ty_@2, ee), ef)) → new_esEs13(zzz79800, zzz80400, ee, ef)
new_esEs32(zzz79801, zzz80401, ty_Double) → new_esEs25(zzz79801, zzz80401)
new_primPlusNat0(Succ(zzz10750), zzz804000) → Succ(Succ(new_primPlusNat1(zzz10750, zzz804000)))
new_ltEs19(zzz950, zzz953, ty_Bool) → new_ltEs15(zzz950, zzz953)
new_gt17(zzz832, zzz838, ty_Double) → new_gt4(zzz832, zzz838)
new_lt6(zzz8880, zzz8890, app(app(ty_Either, dfc), dfd)) → new_lt11(zzz8880, zzz8890, dfc, dfd)
new_compare210(zzz961, zzz962, zzz963, zzz964, False, cbg, cbh) → new_compare110(zzz961, zzz962, zzz963, zzz964, new_lt22(zzz961, zzz963, cbg), new_asAs(new_esEs37(zzz961, zzz963, cbg), new_ltEs23(zzz962, zzz964, cbh)), cbg, cbh)
new_lt23(zzz8880, zzz8890, app(ty_Ratio, hbg)) → new_lt18(zzz8880, zzz8890, hbg)
new_esEs7(zzz7982, zzz8042, ty_Bool) → new_esEs23(zzz7982, zzz8042)
new_esEs29(zzz8881, zzz8891, app(app(ty_@2, deg), deh)) → new_esEs13(zzz8881, zzz8891, deg, deh)
new_gt16(zzz867, zzz862, app(app(ty_Either, daa), dab)) → new_gt1(zzz867, zzz862, daa, dab)
new_ltEs20(zzz907, zzz908, app(app(app(ty_@3, baf), bag), bah)) → new_ltEs4(zzz907, zzz908, baf, bag, bah)
new_primEqInt(Neg(Succ(zzz798000)), Neg(Succ(zzz804000))) → new_primEqNat0(zzz798000, zzz804000)
new_esEs4(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_compare5(True, True) → EQ
new_compare8(@3(zzz7980, zzz7981, zzz7982), @3(zzz8040, zzz8041, zzz8042), ece, ecf, ecg) → new_compare27(zzz7980, zzz7981, zzz7982, zzz8040, zzz8041, zzz8042, new_asAs(new_esEs9(zzz7980, zzz8040, ece), new_asAs(new_esEs8(zzz7981, zzz8041, ecf), new_esEs7(zzz7982, zzz8042, ecg))), ece, ecf, ecg)
new_esEs29(zzz8881, zzz8891, app(app(app(ty_@3, dec), ded), dee)) → new_esEs16(zzz8881, zzz8891, dec, ded, dee)
new_esEs19(EQ, EQ) → True
new_primPlusNat1(Zero, Succ(zzz8040000)) → Succ(zzz8040000)
new_primPlusNat1(Succ(zzz107500), Zero) → Succ(zzz107500)
new_ltEs21(zzz888, zzz889, ty_Int) → new_ltEs8(zzz888, zzz889)
new_esEs6(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_lt27(zzz1048, zzz1043, ty_@0) → new_lt14(zzz1048, zzz1043)
new_splitGT30(zzz862, zzz863, zzz864, zzz865, zzz866, zzz867, cb, ce) → new_splitGT20(zzz862, zzz863, zzz864, zzz865, zzz866, zzz867, new_gt16(zzz867, zzz862, cb), cb, ce)
new_lt22(zzz961, zzz963, ty_Double) → new_lt8(zzz961, zzz963)
new_lt6(zzz8880, zzz8890, app(app(app(ty_@3, dfe), dff), dfg)) → new_lt17(zzz8880, zzz8890, dfe, dff, dfg)
new_splitGT20(zzz1043, zzz1044, zzz1045, zzz1046, zzz1047, zzz1048, True, dba, dbb) → new_splitGT0(zzz1047, zzz1048, dba, dbb)
new_lt26(zzz867, zzz862, ty_Double) → new_lt8(zzz867, zzz862)
new_esEs37(zzz961, zzz963, ty_@0) → new_esEs27(zzz961, zzz963)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs10(zzz7981, zzz8041, app(ty_Maybe, gfh)) → new_esEs21(zzz7981, zzz8041, gfh)
new_esEs35(zzz948, zzz951, ty_Ordering) → new_esEs19(zzz948, zzz951)
new_esEs8(zzz7981, zzz8041, app(app(ty_Either, fef), feg)) → new_esEs20(zzz7981, zzz8041, fef, feg)
new_splitLT20(zzz1058, zzz1059, zzz1060, zzz1061, zzz1062, zzz1063, False, bgg, bgh) → new_splitLT10(zzz1058, zzz1059, zzz1060, zzz1061, zzz1062, zzz1063, new_gt15(zzz1063, zzz1058, bgg), bgg, bgh)
new_primCompAux0(zzz894, GT) → GT
new_compare26(zzz907, zzz908, True, hh, baa) → EQ
new_esEs36(zzz79800, zzz80400, app(app(ty_Either, gbd), gbe)) → new_esEs20(zzz79800, zzz80400, gbd, gbe)
new_fsEs(zzz1069) → new_not(new_esEs19(zzz1069, GT))
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs4(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_esEs7(zzz7982, zzz8042, app(app(ty_@2, fdh), fea)) → new_esEs13(zzz7982, zzz8042, fdh, fea)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_esEs9(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_addToFM_C0(Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), zzz1085, zzz1086, bde, bdf) → new_addToFM_C20(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz1085, zzz1086, new_lt25(zzz1085, zzz10890, bde), bde, bdf)
new_ltEs5(zzz8882, zzz8892, app(ty_Ratio, ddd)) → new_ltEs17(zzz8882, zzz8892, ddd)
new_compare14(zzz798, zzz804) → new_primCmpInt(zzz798, zzz804)
new_lt19(zzz798, zzz804, cfc, cfd) → new_esEs12(new_compare30(zzz798, zzz804, cfc, cfd))
new_gt15(zzz1063, zzz1058, ty_Int) → new_gt11(zzz1063, zzz1058)
new_ltEs19(zzz950, zzz953, ty_Double) → new_ltEs7(zzz950, zzz953)
new_esEs11(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_lt21(zzz948, zzz951, ty_Char) → new_lt13(zzz948, zzz951)
new_esEs7(zzz7982, zzz8042, ty_Float) → new_esEs24(zzz7982, zzz8042)
new_esEs19(EQ, LT) → False
new_esEs19(LT, EQ) → False
new_esEs30(zzz8880, zzz8890, app(app(ty_@2, dga), dgb)) → new_esEs13(zzz8880, zzz8890, dga, dgb)
new_esEs34(zzz949, zzz952, ty_Char) → new_esEs18(zzz949, zzz952)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Bool, bhd) → new_esEs23(zzz79800, zzz80400)
new_primEqInt(Pos(Succ(zzz798000)), Pos(Succ(zzz804000))) → new_primEqNat0(zzz798000, zzz804000)
new_ltEs24(zzz8881, zzz8891, ty_@0) → new_ltEs13(zzz8881, zzz8891)
new_gt15(zzz1063, zzz1058, ty_Ordering) → new_gt7(zzz1063, zzz1058)
new_esEs31(zzz79802, zzz80402, ty_Bool) → new_esEs23(zzz79802, zzz80402)
new_esEs30(zzz8880, zzz8890, ty_@0) → new_esEs27(zzz8880, zzz8890)
new_esEs21(Just(zzz79800), Just(zzz80400), app(ty_[], ed)) → new_esEs22(zzz79800, zzz80400, ed)
new_esEs14(zzz79801, zzz80401, app(app(app(ty_@3, fa), fb), fc)) → new_esEs16(zzz79801, zzz80401, fa, fb, fc)
new_ltEs21(zzz888, zzz889, ty_Float) → new_ltEs11(zzz888, zzz889)
new_ltEs14(zzz888, zzz889) → new_fsEs(new_compare17(zzz888, zzz889))
new_esEs33(zzz79800, zzz80400, app(app(ty_@2, egd), ege)) → new_esEs13(zzz79800, zzz80400, egd, ege)
new_esEs9(zzz7980, zzz8040, app(app(ty_Either, ffh), fga)) → new_esEs20(zzz7980, zzz8040, ffh, fga)
new_ltEs5(zzz8882, zzz8892, app(app(ty_@2, dde), ddf)) → new_ltEs18(zzz8882, zzz8892, dde, ddf)
new_ltEs24(zzz8881, zzz8891, ty_Float) → new_ltEs11(zzz8881, zzz8891)
new_primEqNat0(Succ(zzz798000), Succ(zzz804000)) → new_primEqNat0(zzz798000, zzz804000)
new_mkBalBranch6MkBalBranch4(zzz9360, zzz9361, zzz1141, Branch(zzz93640, zzz93641, zzz93642, zzz93643, zzz93644), True, cb, cc) → new_mkBalBranch6MkBalBranch01(zzz9360, zzz9361, zzz1141, zzz93640, zzz93641, zzz93642, zzz93643, zzz93644, new_lt9(new_sizeFM0(zzz93643, cb, cc), new_sr(Pos(Succ(Succ(Zero))), new_sizeFM0(zzz93644, cb, cc))), cb, cc)
new_esEs25(Double(zzz79800, zzz79801), Double(zzz80400, zzz80401)) → new_esEs28(new_sr(zzz79800, zzz80400), new_sr(zzz79801, zzz80401))
new_lt22(zzz961, zzz963, ty_Char) → new_lt13(zzz961, zzz963)
new_esEs8(zzz7981, zzz8041, ty_@0) → new_esEs27(zzz7981, zzz8041)
new_gt16(zzz867, zzz862, ty_Double) → new_gt4(zzz867, zzz862)
new_primCmpInt(Neg(Succ(zzz79800)), Neg(zzz8040)) → new_primCmpNat0(zzz8040, Succ(zzz79800))
new_esEs37(zzz961, zzz963, ty_Int) → new_esEs28(zzz961, zzz963)
new_lt23(zzz8880, zzz8890, ty_Double) → new_lt8(zzz8880, zzz8890)
new_ltEs10(Right(zzz8880), Right(zzz8890), bca, app(app(ty_Either, gdg), gdh)) → new_ltEs10(zzz8880, zzz8890, gdg, gdh)
new_lt27(zzz1048, zzz1043, ty_Float) → new_lt12(zzz1048, zzz1043)
new_ltEs5(zzz8882, zzz8892, ty_Int) → new_ltEs8(zzz8882, zzz8892)
new_esEs35(zzz948, zzz951, ty_Bool) → new_esEs23(zzz948, zzz951)
new_esEs5(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_esEs30(zzz8880, zzz8890, ty_Float) → new_esEs24(zzz8880, zzz8890)
new_lt5(zzz8881, zzz8891, app(app(ty_Either, dea), deb)) → new_lt11(zzz8881, zzz8891, dea, deb)
new_compare18(GT, LT) → GT
new_ltEs6(Just(zzz8880), Nothing, bbg) → False
new_compare31(zzz7980, zzz8040, app(app(app(ty_@3, cga), cgb), cgc)) → new_compare8(zzz7980, zzz8040, cga, cgb, cgc)
new_gt16(zzz867, zzz862, ty_Bool) → new_gt2(zzz867, zzz862)
new_esEs29(zzz8881, zzz8891, ty_Integer) → new_esEs26(zzz8881, zzz8891)
new_lt21(zzz948, zzz951, app(ty_[], fbf)) → new_lt10(zzz948, zzz951, fbf)
new_ltEs24(zzz8881, zzz8891, app(ty_Maybe, ghf)) → new_ltEs6(zzz8881, zzz8891, ghf)
new_ltEs21(zzz888, zzz889, ty_Ordering) → new_ltEs16(zzz888, zzz889)
new_compare31(zzz7980, zzz8040, app(ty_Ratio, cgd)) → new_compare9(zzz7980, zzz8040, cgd)
new_compare31(zzz7980, zzz8040, app(ty_Maybe, cfe)) → new_compare6(zzz7980, zzz8040, cfe)
new_lt20(zzz949, zzz952, ty_Char) → new_lt13(zzz949, zzz952)
new_compare28(zzz888, zzz889, False, bbf) → new_compare15(zzz888, zzz889, new_ltEs21(zzz888, zzz889, bbf), bbf)
new_ltEs10(Right(zzz8880), Right(zzz8890), bca, ty_Integer) → new_ltEs14(zzz8880, zzz8890)
new_esEs9(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_primPlusNat1(Succ(zzz107500), Succ(zzz8040000)) → Succ(Succ(new_primPlusNat1(zzz107500, zzz8040000)))
new_esEs36(zzz79800, zzz80400, app(app(app(ty_@3, gah), gba), gbb)) → new_esEs16(zzz79800, zzz80400, gah, gba, gbb)
new_esEs10(zzz7981, zzz8041, ty_Char) → new_esEs18(zzz7981, zzz8041)
new_esEs28(zzz7980, zzz8040) → new_primEqInt(zzz7980, zzz8040)
new_gt15(zzz1063, zzz1058, app(ty_Ratio, gae)) → new_gt13(zzz1063, zzz1058, gae)
new_esEs26(Integer(zzz79800), Integer(zzz80400)) → new_primEqInt(zzz79800, zzz80400)
new_gt11(zzz832, zzz838) → new_esEs41(new_compare14(zzz832, zzz838))
new_esEs10(zzz7981, zzz8041, ty_Bool) → new_esEs23(zzz7981, zzz8041)
new_lt5(zzz8881, zzz8891, app(ty_Ratio, def)) → new_lt18(zzz8881, zzz8891, def)
new_esEs32(zzz79801, zzz80401, app(ty_Maybe, eeh)) → new_esEs21(zzz79801, zzz80401, eeh)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Ordering, bhd) → new_esEs19(zzz79800, zzz80400)
new_gt3(zzz832, zzz838) → new_esEs41(new_compare13(zzz832, zzz838))
new_mkVBalBranch3MkVBalBranch10(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, bde, bdf) → new_mkBalBranch(zzz11470, zzz11471, zzz11473, new_mkVBalBranch0(zzz1085, zzz1086, zzz11474, Branch(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894), bde, bdf), bde, bdf)
new_esEs33(zzz79800, zzz80400, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_esEs35(zzz948, zzz951, app(ty_Ratio, fcd)) → new_esEs17(zzz948, zzz951, fcd)
new_primEqInt(Pos(Zero), Neg(Succ(zzz804000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(zzz804000))) → False
new_esEs30(zzz8880, zzz8890, ty_Bool) → new_esEs23(zzz8880, zzz8890)
new_esEs30(zzz8880, zzz8890, app(ty_Maybe, dfa)) → new_esEs21(zzz8880, zzz8890, dfa)
new_esEs14(zzz79801, zzz80401, app(app(ty_@2, gb), gc)) → new_esEs13(zzz79801, zzz80401, gb, gc)
new_esEs30(zzz8880, zzz8890, app(ty_Ratio, dfh)) → new_esEs17(zzz8880, zzz8890, dfh)
new_primCmpInt(Pos(Zero), Pos(Succ(zzz80400))) → new_primCmpNat0(Zero, Succ(zzz80400))
new_esEs33(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs6(zzz7980, zzz8040, app(ty_Maybe, eac)) → new_esEs21(zzz7980, zzz8040, eac)
new_lt26(zzz867, zzz862, app(app(app(ty_@3, dac), dad), dae)) → new_lt17(zzz867, zzz862, dac, dad, dae)
new_esEs20(Right(zzz79800), Right(zzz80400), cad, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs20(Right(zzz79800), Right(zzz80400), cad, app(app(app(ty_@3, cae), caf), cag)) → new_esEs16(zzz79800, zzz80400, cae, caf, cag)
new_ltEs16(EQ, EQ) → True
new_lt28(zzz798, zzz804, app(ty_Ratio, gfa)) → new_lt18(zzz798, zzz804, gfa)
new_gt12(zzz832, zzz838, fha, fhb, fhc) → new_esEs41(new_compare8(zzz832, zzz838, fha, fhb, fhc))
new_emptyFM(cg, da) → EmptyFM
new_esEs20(Left(zzz79800), Left(zzz80400), app(ty_[], caa), bhd) → new_esEs22(zzz79800, zzz80400, caa)
new_primCompAux0(zzz894, LT) → LT
new_esEs33(zzz79800, zzz80400, app(app(ty_Either, efh), ega)) → new_esEs20(zzz79800, zzz80400, efh, ega)
new_compare18(EQ, GT) → LT
new_not(False) → True
new_esEs8(zzz7981, zzz8041, ty_Float) → new_esEs24(zzz7981, zzz8041)
new_lt21(zzz948, zzz951, app(app(ty_Either, fbg), fbh)) → new_lt11(zzz948, zzz951, fbg, fbh)
new_ltEs21(zzz888, zzz889, app(app(ty_@2, bcg), bch)) → new_ltEs18(zzz888, zzz889, bcg, bch)
new_gt17(zzz832, zzz838, ty_Float) → new_gt8(zzz832, zzz838)
new_esEs21(Just(zzz79800), Just(zzz80400), app(app(ty_Either, ea), eb)) → new_esEs20(zzz79800, zzz80400, ea, eb)
new_ltEs7(zzz888, zzz889) → new_fsEs(new_compare19(zzz888, zzz889))
new_mkBalBranch6MkBalBranch01(zzz9360, zzz9361, zzz1141, zzz93640, zzz93641, zzz93642, zzz93643, zzz93644, True, cb, cc) → new_mkBranchResult(zzz93640, zzz93641, zzz93644, new_mkBranchResult(zzz9360, zzz9361, zzz93643, zzz1141, cb, cc), cb, cc)
new_esEs35(zzz948, zzz951, app(app(ty_Either, fbg), fbh)) → new_esEs20(zzz948, zzz951, fbg, fbh)
new_esEs37(zzz961, zzz963, app(ty_[], ccb)) → new_esEs22(zzz961, zzz963, ccb)
new_ltEs23(zzz962, zzz964, app(ty_[], cdd)) → new_ltEs9(zzz962, zzz964, cdd)
new_gt17(zzz832, zzz838, app(ty_Ratio, fcg)) → new_gt13(zzz832, zzz838, fcg)
new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, bde, bdf) → new_sizeFM(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, bde, bdf)
new_lt20(zzz949, zzz952, app(ty_[], fad)) → new_lt10(zzz949, zzz952, fad)
new_gt17(zzz832, zzz838, ty_Char) → new_gt9(zzz832, zzz838)
new_esEs10(zzz7981, zzz8041, ty_Double) → new_esEs25(zzz7981, zzz8041)
new_ltEs21(zzz888, zzz889, ty_Char) → new_ltEs12(zzz888, zzz889)
new_gt14(zzz1187, zzz1182, ty_Ordering) → new_gt7(zzz1187, zzz1182)
new_gt6(zzz832, zzz838, cfa, cfb) → new_esEs41(new_compare30(zzz832, zzz838, cfa, cfb))
new_compare0(:(zzz7980, zzz7981), [], bdb) → GT
new_esEs6(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_esEs14(zzz79801, zzz80401, ty_Char) → new_esEs18(zzz79801, zzz80401)
new_esEs20(Right(zzz79800), Right(zzz80400), cad, app(ty_[], cbd)) → new_esEs22(zzz79800, zzz80400, cbd)
new_gt14(zzz1187, zzz1182, ty_Double) → new_gt4(zzz1187, zzz1182)
new_lt6(zzz8880, zzz8890, app(ty_[], dfb)) → new_lt10(zzz8880, zzz8890, dfb)
new_esEs4(zzz7980, zzz8040, app(app(ty_@2, eg), eh)) → new_esEs13(zzz7980, zzz8040, eg, eh)
new_ltEs22(zzz900, zzz901, ty_Int) → new_ltEs8(zzz900, zzz901)
new_gt17(zzz832, zzz838, app(ty_[], ceh)) → new_gt5(zzz832, zzz838, ceh)
new_lt25(zzz1085, zzz10890, ty_Char) → new_lt13(zzz1085, zzz10890)
new_esEs34(zzz949, zzz952, app(app(ty_Either, fae), faf)) → new_esEs20(zzz949, zzz952, fae, faf)
new_mkVBalBranch3MkVBalBranch20(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, bde, bdf) → new_mkVBalBranch3MkVBalBranch10(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, new_lt9(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, bde, bdf)), new_mkVBalBranch3Size_l(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, bde, bdf)), bde, bdf)
new_esEs10(zzz7981, zzz8041, app(app(ty_Either, gff), gfg)) → new_esEs20(zzz7981, zzz8041, gff, gfg)
new_primMulInt(Neg(zzz79800), Neg(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_esEs37(zzz961, zzz963, app(app(app(ty_@3, cce), ccf), ccg)) → new_esEs16(zzz961, zzz963, cce, ccf, ccg)
new_esEs6(zzz7980, zzz8040, app(ty_[], ead)) → new_esEs22(zzz7980, zzz8040, ead)
new_esEs7(zzz7982, zzz8042, ty_Integer) → new_esEs26(zzz7982, zzz8042)
new_primEqNat0(Zero, Succ(zzz804000)) → False
new_primEqNat0(Succ(zzz798000), Zero) → False
new_esEs29(zzz8881, zzz8891, app(ty_Ratio, def)) → new_esEs17(zzz8881, zzz8891, def)
new_ltEs10(Right(zzz8880), Right(zzz8890), bca, ty_Char) → new_ltEs12(zzz8880, zzz8890)
new_mkVBalBranch0(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), EmptyFM, bde, bdf) → new_addToFM(Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz1085, zzz1086, bde, bdf)
new_compare25(zzz900, zzz901, True, bfc, bfd) → EQ
new_esEs20(Right(zzz79800), Right(zzz80400), cad, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_lt13(zzz798, zzz804) → new_esEs12(new_compare29(zzz798, zzz804))
new_esEs21(Just(zzz79800), Just(zzz80400), app(ty_Ratio, dh)) → new_esEs17(zzz79800, zzz80400, dh)
new_splitGT20(zzz1043, zzz1044, zzz1045, zzz1046, zzz1047, zzz1048, False, dba, dbb) → new_splitGT10(zzz1043, zzz1044, zzz1045, zzz1046, zzz1047, zzz1048, new_lt27(zzz1048, zzz1043, dba), dba, dbb)
new_compare31(zzz7980, zzz8040, app(app(ty_@2, cge), cgf)) → new_compare30(zzz7980, zzz8040, cge, cgf)
new_esEs36(zzz79800, zzz80400, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_gt7(zzz832, zzz838) → new_esEs41(new_compare18(zzz832, zzz838))
new_esEs15(zzz79800, zzz80400, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_esEs20(Right(zzz79800), Right(zzz80400), cad, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Int, bhd) → new_esEs28(zzz79800, zzz80400)
new_ltEs20(zzz907, zzz908, ty_Ordering) → new_ltEs16(zzz907, zzz908)
new_mkBranch1(zzz1655, zzz1656, zzz1657, zzz1658, zzz1659, fhd, fhe) → new_mkBranchResult(zzz1656, zzz1657, zzz1659, zzz1658, fhd, fhe)
new_ltEs20(zzz907, zzz908, app(app(ty_Either, bad), bae)) → new_ltEs10(zzz907, zzz908, bad, bae)
new_lt28(zzz798, zzz804, ty_Char) → new_lt13(zzz798, zzz804)
new_lt20(zzz949, zzz952, app(app(ty_Either, fae), faf)) → new_lt11(zzz949, zzz952, fae, faf)
new_lt27(zzz1048, zzz1043, ty_Ordering) → new_lt16(zzz1048, zzz1043)
new_esEs7(zzz7982, zzz8042, ty_@0) → new_esEs27(zzz7982, zzz8042)
new_primMinusNat0(Zero, Zero) → Pos(Zero)
new_primCmpInt(Pos(Zero), Neg(Succ(zzz80400))) → GT
new_esEs30(zzz8880, zzz8890, ty_Char) → new_esEs18(zzz8880, zzz8890)
new_compare0(:(zzz7980, zzz7981), :(zzz8040, zzz8041), bdb) → new_primCompAux1(zzz7980, zzz8040, new_compare0(zzz7981, zzz8041, bdb), bdb)
new_esEs20(Left(zzz79800), Left(zzz80400), app(app(app(ty_@3, bha), bhb), bhc), bhd) → new_esEs16(zzz79800, zzz80400, bha, bhb, bhc)
new_esEs30(zzz8880, zzz8890, ty_Int) → new_esEs28(zzz8880, zzz8890)
new_esEs39(zzz79801, zzz80401, ty_Int) → new_esEs28(zzz79801, zzz80401)
new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, False, cee, cef, ceg) → GT
new_mkBalBranch6MkBalBranch4(zzz9360, zzz9361, zzz1141, EmptyFM, True, cb, cc) → error([])
new_esEs19(LT, LT) → True
new_lt22(zzz961, zzz963, ty_Integer) → new_lt15(zzz961, zzz963)
new_compare11(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, False, zzz1033, cee, cef, ceg) → new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, zzz1033, cee, cef, ceg)
new_ltEs23(zzz962, zzz964, ty_Ordering) → new_ltEs16(zzz962, zzz964)
new_esEs4(zzz7980, zzz8040, app(ty_Ratio, che)) → new_esEs17(zzz7980, zzz8040, che)
new_esEs10(zzz7981, zzz8041, app(ty_[], gga)) → new_esEs22(zzz7981, zzz8041, gga)
new_esEs20(Right(zzz79800), Right(zzz80400), cad, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_ltEs19(zzz950, zzz953, app(app(ty_@2, faa), fab)) → new_ltEs18(zzz950, zzz953, faa, fab)
new_esEs36(zzz79800, zzz80400, app(app(ty_@2, gbh), gca)) → new_esEs13(zzz79800, zzz80400, gbh, gca)
new_primCompAux1(zzz7980, zzz8040, zzz883, bdb) → new_primCompAux0(zzz883, new_compare31(zzz7980, zzz8040, bdb))
new_compare31(zzz7980, zzz8040, ty_Integer) → new_compare17(zzz7980, zzz8040)
new_compare6(Just(zzz7980), Nothing, cha) → GT
new_esEs8(zzz7981, zzz8041, ty_Bool) → new_esEs23(zzz7981, zzz8041)
new_splitGT0(EmptyFM, zzz1048, dba, dbb) → new_emptyFM(dba, dbb)
new_lt20(zzz949, zzz952, app(ty_Maybe, fac)) → new_lt7(zzz949, zzz952, fac)
new_compare5(False, True) → LT
new_asAs(False, zzz1000) → False
new_ltEs10(Right(zzz8880), Right(zzz8890), bca, app(app(app(ty_@3, gea), geb), gec)) → new_ltEs4(zzz8880, zzz8890, gea, geb, gec)
new_primMulInt(Pos(zzz79800), Neg(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_primMulInt(Neg(zzz79800), Pos(zzz80400)) → Neg(new_primMulNat0(zzz79800, zzz80400))
new_esEs36(zzz79800, zzz80400, app(ty_Maybe, gbf)) → new_esEs21(zzz79800, zzz80400, gbf)
new_esEs31(zzz79802, zzz80402, ty_Double) → new_esEs25(zzz79802, zzz80402)
new_esEs5(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_ltEs23(zzz962, zzz964, app(ty_Maybe, cdc)) → new_ltEs6(zzz962, zzz964, cdc)
new_lt5(zzz8881, zzz8891, app(app(ty_@2, deg), deh)) → new_lt19(zzz8881, zzz8891, deg, deh)
new_ltEs22(zzz900, zzz901, app(app(ty_@2, bge), bgf)) → new_ltEs18(zzz900, zzz901, bge, bgf)
new_esEs14(zzz79801, zzz80401, ty_@0) → new_esEs27(zzz79801, zzz80401)
new_esEs21(Just(zzz79800), Nothing, dd) → False
new_esEs21(Nothing, Just(zzz80400), dd) → False
new_gt17(zzz832, zzz838, app(ty_Maybe, fgh)) → new_gt10(zzz832, zzz838, fgh)
new_lt25(zzz1085, zzz10890, ty_Bool) → new_lt4(zzz1085, zzz10890)
new_esEs29(zzz8881, zzz8891, ty_Double) → new_esEs25(zzz8881, zzz8891)
new_esEs32(zzz79801, zzz80401, ty_Bool) → new_esEs23(zzz79801, zzz80401)
new_compare17(Integer(zzz7980), Integer(zzz8040)) → new_primCmpInt(zzz7980, zzz8040)
new_mkBalBranch6MkBalBranch3(zzz9360, zzz9361, Branch(zzz11410, zzz11411, zzz11412, zzz11413, zzz11414), zzz9364, True, cb, cc) → new_mkBalBranch6MkBalBranch11(zzz9360, zzz9361, zzz11410, zzz11411, zzz11412, zzz11413, zzz11414, zzz9364, new_lt9(new_sizeFM0(zzz11414, cb, cc), new_sr(Pos(Succ(Succ(Zero))), new_sizeFM0(zzz11413, cb, cc))), cb, cc)
new_gt16(zzz867, zzz862, app(app(app(ty_@3, dac), dad), dae)) → new_gt12(zzz867, zzz862, dac, dad, dae)
new_gt16(zzz867, zzz862, ty_Integer) → new_gt0(zzz867, zzz862)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Int, bcb) → new_ltEs8(zzz8880, zzz8890)
new_esEs10(zzz7981, zzz8041, ty_@0) → new_esEs27(zzz7981, zzz8041)
new_lt23(zzz8880, zzz8890, app(app(app(ty_@3, hbd), hbe), hbf)) → new_lt17(zzz8880, zzz8890, hbd, hbe, hbf)
new_compare13(@0, @0) → EQ
new_compare31(zzz7980, zzz8040, app(ty_[], cff)) → new_compare0(zzz7980, zzz8040, cff)
new_esEs35(zzz948, zzz951, app(ty_[], fbf)) → new_esEs22(zzz948, zzz951, fbf)
new_esEs6(zzz7980, zzz8040, app(ty_Ratio, dhh)) → new_esEs17(zzz7980, zzz8040, dhh)
new_compare31(zzz7980, zzz8040, app(app(ty_Either, cfg), cfh)) → new_compare7(zzz7980, zzz8040, cfg, cfh)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Integer) → new_ltEs14(zzz8880, zzz8890)
new_ltEs24(zzz8881, zzz8891, app(ty_[], ghg)) → new_ltEs9(zzz8881, zzz8891, ghg)
new_ltEs23(zzz962, zzz964, ty_Char) → new_ltEs12(zzz962, zzz964)
new_lt5(zzz8881, zzz8891, app(ty_[], ddh)) → new_lt10(zzz8881, zzz8891, ddh)
new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, False, bfa, bfb) → GT
new_lt20(zzz949, zzz952, app(ty_Ratio, fbb)) → new_lt18(zzz949, zzz952, fbb)
new_ltEs10(Right(zzz8880), Right(zzz8890), bca, app(ty_Ratio, ged)) → new_ltEs17(zzz8880, zzz8890, ged)
new_lt27(zzz1048, zzz1043, ty_Integer) → new_lt15(zzz1048, zzz1043)
new_lt27(zzz1048, zzz1043, ty_Double) → new_lt8(zzz1048, zzz1043)
new_gt17(zzz832, zzz838, ty_Int) → new_gt11(zzz832, zzz838)
new_ltEs6(Nothing, Nothing, bbg) → True
new_compare7(Right(zzz7980), Left(zzz8040), hf, hg) → GT
new_esEs34(zzz949, zzz952, ty_Integer) → new_esEs26(zzz949, zzz952)
new_esEs40(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs6(zzz7980, zzz8040, app(app(ty_Either, eaa), eab)) → new_esEs20(zzz7980, zzz8040, eaa, eab)
new_lt26(zzz867, zzz862, app(ty_[], chh)) → new_lt10(zzz867, zzz862, chh)
new_ltEs10(Right(zzz8880), Right(zzz8890), bca, ty_Bool) → new_ltEs15(zzz8880, zzz8890)
new_lt28(zzz798, zzz804, ty_Bool) → new_lt4(zzz798, zzz804)
new_lt20(zzz949, zzz952, ty_Ordering) → new_lt16(zzz949, zzz952)
new_lt21(zzz948, zzz951, app(app(ty_@2, fce), fcf)) → new_lt19(zzz948, zzz951, fce, fcf)
new_esEs11(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_esEs9(zzz7980, zzz8040, app(ty_Maybe, fgb)) → new_esEs21(zzz7980, zzz8040, fgb)
new_esEs41(GT) → True
new_esEs10(zzz7981, zzz8041, app(ty_Ratio, gfe)) → new_esEs17(zzz7981, zzz8041, gfe)
new_lt25(zzz1085, zzz10890, ty_@0) → new_lt14(zzz1085, zzz10890)
new_compare25(zzz900, zzz901, False, bfc, bfd) → new_compare10(zzz900, zzz901, new_ltEs22(zzz900, zzz901, bfc), bfc, bfd)
new_esEs6(zzz7980, zzz8040, app(app(app(ty_@3, dhe), dhf), dhg)) → new_esEs16(zzz7980, zzz8040, dhe, dhf, dhg)
new_mkBalBranch6MkBalBranch01(zzz9360, zzz9361, zzz1141, zzz93640, zzz93641, zzz93642, Branch(zzz936430, zzz936431, zzz936432, zzz936433, zzz936434), zzz93644, False, cb, cc) → new_mkBranch0(Succ(Succ(Succ(Succ(Zero)))), zzz936430, zzz936431, new_mkBranchResult(zzz9360, zzz9361, zzz936433, zzz1141, cb, cc), Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), zzz93640, zzz93641, zzz936434, zzz93644, cb, cc)
new_esEs34(zzz949, zzz952, ty_Double) → new_esEs25(zzz949, zzz952)
new_esEs15(zzz79800, zzz80400, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_lt20(zzz949, zzz952, ty_Integer) → new_lt15(zzz949, zzz952)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Float, bhd) → new_esEs24(zzz79800, zzz80400)
new_esEs31(zzz79802, zzz80402, ty_Char) → new_esEs18(zzz79802, zzz80402)
new_intersectFM_C2Gts(zzz862, zzz863, zzz864, zzz865, zzz866, zzz867, cb, ce) → new_splitGT30(zzz862, zzz863, zzz864, zzz865, zzz866, zzz867, cb, ce)
new_esEs7(zzz7982, zzz8042, ty_Double) → new_esEs25(zzz7982, zzz8042)
new_compare7(Left(zzz7980), Left(zzz8040), hf, hg) → new_compare25(zzz7980, zzz8040, new_esEs5(zzz7980, zzz8040, hf), hf, hg)
new_compare7(Right(zzz7980), Right(zzz8040), hf, hg) → new_compare26(zzz7980, zzz8040, new_esEs6(zzz7980, zzz8040, hg), hf, hg)
new_esEs31(zzz79802, zzz80402, app(app(app(ty_@3, ech), eda), edb)) → new_esEs16(zzz79802, zzz80402, ech, eda, edb)
new_lt5(zzz8881, zzz8891, ty_Ordering) → new_lt16(zzz8881, zzz8891)
new_ltEs22(zzz900, zzz901, ty_Double) → new_ltEs7(zzz900, zzz901)
new_esEs15(zzz79800, zzz80400, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_esEs31(zzz79802, zzz80402, app(ty_Ratio, edc)) → new_esEs17(zzz79802, zzz80402, edc)
new_gt4(zzz832, zzz838) → new_esEs41(new_compare19(zzz832, zzz838))
new_esEs38(zzz8880, zzz8890, app(ty_Maybe, hah)) → new_esEs21(zzz8880, zzz8890, hah)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(app(ty_@2, gdc), gdd), bcb) → new_ltEs18(zzz8880, zzz8890, gdc, gdd)
new_lt22(zzz961, zzz963, app(app(app(ty_@3, cce), ccf), ccg)) → new_lt17(zzz961, zzz963, cce, ccf, ccg)
new_lt6(zzz8880, zzz8890, app(ty_Maybe, dfa)) → new_lt7(zzz8880, zzz8890, dfa)
new_compare0([], :(zzz8040, zzz8041), bdb) → LT
new_primPlusNat1(Zero, Zero) → Zero
new_esEs15(zzz79800, zzz80400, app(ty_[], hc)) → new_esEs22(zzz79800, zzz80400, hc)
new_esEs7(zzz7982, zzz8042, ty_Char) → new_esEs18(zzz7982, zzz8042)
new_addToFM_C0(EmptyFM, zzz1085, zzz1086, bde, bdf) → Branch(zzz1085, zzz1086, Pos(Succ(Zero)), new_emptyFM(bde, bdf), new_emptyFM(bde, bdf))
new_gt13(zzz832, zzz838, fcg) → new_esEs41(new_compare9(zzz832, zzz838, fcg))
new_asAs(True, zzz1000) → zzz1000
new_ltEs22(zzz900, zzz901, ty_Float) → new_ltEs11(zzz900, zzz901)
new_esEs9(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_ltEs5(zzz8882, zzz8892, app(ty_Maybe, dce)) → new_ltEs6(zzz8882, zzz8892, dce)
new_ltEs16(LT, LT) → True
new_esEs4(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_gt14(zzz1187, zzz1182, ty_Bool) → new_gt2(zzz1187, zzz1182)
new_lt5(zzz8881, zzz8891, ty_Int) → new_lt9(zzz8881, zzz8891)
new_esEs14(zzz79801, zzz80401, ty_Integer) → new_esEs26(zzz79801, zzz80401)
new_lt22(zzz961, zzz963, ty_@0) → new_lt14(zzz961, zzz963)
new_gt17(zzz832, zzz838, ty_@0) → new_gt3(zzz832, zzz838)
new_ltEs23(zzz962, zzz964, ty_@0) → new_ltEs13(zzz962, zzz964)
new_ltEs20(zzz907, zzz908, ty_Int) → new_ltEs8(zzz907, zzz908)
new_esEs17(:%(zzz79800, zzz79801), :%(zzz80400, zzz80401), che) → new_asAs(new_esEs40(zzz79800, zzz80400, che), new_esEs39(zzz79801, zzz80401, che))
new_compare9(:%(zzz7980, zzz7981), :%(zzz8040, zzz8041), ty_Integer) → new_compare17(new_sr0(zzz7980, zzz8041), new_sr0(zzz8040, zzz7981))
new_compare6(Nothing, Just(zzz8040), cha) → LT
new_addToFM_C10(zzz1220, zzz1221, zzz1222, zzz1223, zzz1224, zzz1225, zzz1226, False, geg, geh) → Branch(zzz1225, zzz1226, zzz1222, zzz1223, zzz1224)
new_gt14(zzz1187, zzz1182, ty_Float) → new_gt8(zzz1187, zzz1182)
new_mkBalBranch6MkBalBranch11(zzz9360, zzz9361, zzz11410, zzz11411, zzz11412, zzz11413, Branch(zzz114140, zzz114141, zzz114142, zzz114143, zzz114144), zzz9364, False, cb, cc) → new_mkBranch0(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), zzz114140, zzz114141, new_mkBranch1(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), zzz11410, zzz11411, zzz11413, zzz114143, cb, cc), Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), zzz9360, zzz9361, zzz114144, zzz9364, cb, cc)
new_addToFM_C20(zzz1182, zzz1183, zzz1184, zzz1185, zzz1186, zzz1187, zzz1188, False, eag, eah) → new_addToFM_C10(zzz1182, zzz1183, zzz1184, zzz1185, zzz1186, zzz1187, zzz1188, new_gt14(zzz1187, zzz1182, eag), eag, eah)
new_esEs31(zzz79802, zzz80402, app(app(ty_@2, edh), eea)) → new_esEs13(zzz79802, zzz80402, edh, eea)
new_esEs20(Right(zzz79800), Right(zzz80400), cad, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_ltEs24(zzz8881, zzz8891, ty_Bool) → new_ltEs15(zzz8881, zzz8891)
new_esEs20(Right(zzz79800), Right(zzz80400), cad, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_addToFM_C10(zzz1220, zzz1221, zzz1222, zzz1223, zzz1224, zzz1225, zzz1226, True, geg, geh) → new_mkBalBranch(zzz1220, zzz1221, zzz1223, new_addToFM_C0(zzz1224, zzz1225, zzz1226, geg, geh), geg, geh)
new_gt17(zzz832, zzz838, ty_Ordering) → new_gt7(zzz832, zzz838)
new_lt6(zzz8880, zzz8890, ty_Ordering) → new_lt16(zzz8880, zzz8890)
new_esEs20(Right(zzz79800), Right(zzz80400), cad, app(ty_Ratio, cah)) → new_esEs17(zzz79800, zzz80400, cah)
new_esEs8(zzz7981, zzz8041, app(ty_Ratio, fee)) → new_esEs17(zzz7981, zzz8041, fee)
new_lt25(zzz1085, zzz10890, ty_Int) → new_lt9(zzz1085, zzz10890)
new_esEs8(zzz7981, zzz8041, ty_Int) → new_esEs28(zzz7981, zzz8041)
new_esEs34(zzz949, zzz952, ty_Ordering) → new_esEs19(zzz949, zzz952)
new_lt26(zzz867, zzz862, ty_Bool) → new_lt4(zzz867, zzz862)
new_primCompAux0(zzz894, EQ) → zzz894
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_not(True) → False
new_compare210(zzz961, zzz962, zzz963, zzz964, True, cbg, cbh) → EQ
new_lt25(zzz1085, zzz10890, app(ty_Maybe, bdg)) → new_lt7(zzz1085, zzz10890, bdg)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_primMinusNat0(Succ(zzz1141200), Succ(zzz122800)) → new_primMinusNat0(zzz1141200, zzz122800)
new_compare31(zzz7980, zzz8040, ty_Bool) → new_compare5(zzz7980, zzz8040)
new_gt15(zzz1063, zzz1058, ty_@0) → new_gt3(zzz1063, zzz1058)
new_mkBalBranch6MkBalBranch4(zzz9360, zzz9361, zzz1141, zzz9364, False, cb, cc) → new_mkBalBranch6MkBalBranch3(zzz9360, zzz9361, zzz1141, zzz9364, new_gt11(new_mkBalBranch6Size_l(zzz9360, zzz9361, zzz1141, zzz9364, cb, cc), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_r(zzz9360, zzz9361, zzz1141, zzz9364, cb, cc))), cb, cc)
new_esEs27(@0, @0) → True
new_lt15(zzz798, zzz804) → new_esEs12(new_compare17(zzz798, zzz804))
new_lt22(zzz961, zzz963, ty_Int) → new_lt9(zzz961, zzz963)
new_esEs35(zzz948, zzz951, ty_Int) → new_esEs28(zzz948, zzz951)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Double, bhd) → new_esEs25(zzz79800, zzz80400)
new_ltEs15(True, False) → False
new_ltEs16(GT, GT) → True
new_compare7(Left(zzz7980), Right(zzz8040), hf, hg) → LT
new_lt25(zzz1085, zzz10890, app(app(ty_@2, beg), beh)) → new_lt19(zzz1085, zzz10890, beg, beh)
new_ltEs5(zzz8882, zzz8892, app(app(ty_Either, dcg), dch)) → new_ltEs10(zzz8882, zzz8892, dcg, dch)
new_esEs10(zzz7981, zzz8041, ty_Int) → new_esEs28(zzz7981, zzz8041)
new_esEs9(zzz7980, zzz8040, app(app(ty_@2, fgd), fge)) → new_esEs13(zzz7980, zzz8040, fgd, fge)
new_ltEs19(zzz950, zzz953, app(ty_[], ehb)) → new_ltEs9(zzz950, zzz953, ehb)
new_compare19(Double(zzz7980, zzz7981), Double(zzz8040, zzz8041)) → new_compare14(new_sr(zzz7980, zzz8040), new_sr(zzz7981, zzz8041))
new_ltEs10(Left(zzz8880), Right(zzz8890), bca, bcb) → True
new_mkBalBranch6MkBalBranch5(zzz9360, zzz9361, zzz1141, zzz9364, True, cb, cc) → new_mkBranchResult(zzz9360, zzz9361, zzz9364, zzz1141, cb, cc)
new_compare10(zzz984, zzz985, True, ecc, ecd) → LT
new_esEs14(zzz79801, zzz80401, app(ty_Maybe, fh)) → new_esEs21(zzz79801, zzz80401, fh)
new_esEs14(zzz79801, zzz80401, ty_Bool) → new_esEs23(zzz79801, zzz80401)
new_esEs11(zzz7980, zzz8040, app(ty_Maybe, ghb)) → new_esEs21(zzz7980, zzz8040, ghb)
new_esEs11(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_ltEs16(LT, GT) → True
new_mkBalBranch(zzz9360, zzz9361, zzz1141, zzz9364, cb, cc) → new_mkBalBranch6MkBalBranch5(zzz9360, zzz9361, zzz1141, zzz9364, new_lt9(new_primPlusInt(new_mkBalBranch6Size_l(zzz9360, zzz9361, zzz1141, zzz9364, cb, cc), new_mkBalBranch6Size_r(zzz9360, zzz9361, zzz1141, zzz9364, cb, cc)), Pos(Succ(Succ(Zero)))), cb, cc)
new_compare31(zzz7980, zzz8040, ty_Double) → new_compare19(zzz7980, zzz8040)
new_lt23(zzz8880, zzz8890, ty_Char) → new_lt13(zzz8880, zzz8890)
new_esEs9(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_esEs15(zzz79800, zzz80400, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_ltEs22(zzz900, zzz901, app(app(ty_Either, bfg), bfh)) → new_ltEs10(zzz900, zzz901, bfg, bfh)
new_sizeFM0(Branch(zzz93640, zzz93641, zzz93642, zzz93643, zzz93644), cb, cc) → zzz93642
new_esEs20(Right(zzz79800), Left(zzz80400), cad, bhd) → False
new_esEs20(Left(zzz79800), Right(zzz80400), cad, bhd) → False
new_gt15(zzz1063, zzz1058, ty_Integer) → new_gt0(zzz1063, zzz1058)
new_primMulNat0(Zero, Zero) → Zero
new_lt6(zzz8880, zzz8890, ty_Bool) → new_lt4(zzz8880, zzz8890)
new_ltEs10(Right(zzz8880), Right(zzz8890), bca, app(ty_[], gdf)) → new_ltEs9(zzz8880, zzz8890, gdf)
new_esEs11(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_esEs4(zzz7980, zzz8040, app(ty_Maybe, dd)) → new_esEs21(zzz7980, zzz8040, dd)
new_esEs4(zzz7980, zzz8040, app(ty_[], chf)) → new_esEs22(zzz7980, zzz8040, chf)
new_gt14(zzz1187, zzz1182, ty_Char) → new_gt9(zzz1187, zzz1182)
new_esEs20(Left(zzz79800), Left(zzz80400), app(ty_Maybe, bhh), bhd) → new_esEs21(zzz79800, zzz80400, bhh)
new_compare31(zzz7980, zzz8040, ty_Float) → new_compare16(zzz7980, zzz8040)
new_gt15(zzz1063, zzz1058, app(app(ty_Either, fhh), gaa)) → new_gt1(zzz1063, zzz1058, fhh, gaa)
new_esEs34(zzz949, zzz952, ty_Bool) → new_esEs23(zzz949, zzz952)
new_esEs29(zzz8881, zzz8891, app(ty_Maybe, ddg)) → new_esEs21(zzz8881, zzz8891, ddg)
new_esEs15(zzz79800, zzz80400, app(app(ty_Either, gh), ha)) → new_esEs20(zzz79800, zzz80400, gh, ha)
new_lt22(zzz961, zzz963, app(app(ty_@2, cda), cdb)) → new_lt19(zzz961, zzz963, cda, cdb)
new_esEs35(zzz948, zzz951, ty_@0) → new_esEs27(zzz948, zzz951)
new_esEs32(zzz79801, zzz80401, ty_Float) → new_esEs24(zzz79801, zzz80401)
new_ltEs10(Right(zzz8880), Right(zzz8890), bca, ty_Double) → new_ltEs7(zzz8880, zzz8890)
new_esEs6(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_ltEs19(zzz950, zzz953, ty_@0) → new_ltEs13(zzz950, zzz953)
new_mkBranch0(zzz1651, zzz1652, zzz1653, zzz1654, zzz1655, zzz1656, zzz1657, zzz1658, zzz1659, fhd, fhe) → new_mkBranchResult(zzz1652, zzz1653, new_mkBranch1(zzz1655, zzz1656, zzz1657, zzz1658, zzz1659, fhd, fhe), zzz1654, fhd, fhe)
new_esEs14(zzz79801, zzz80401, ty_Int) → new_esEs28(zzz79801, zzz80401)
new_esEs29(zzz8881, zzz8891, ty_Float) → new_esEs24(zzz8881, zzz8891)
new_esEs37(zzz961, zzz963, ty_Double) → new_esEs25(zzz961, zzz963)
new_esEs32(zzz79801, zzz80401, ty_Ordering) → new_esEs19(zzz79801, zzz80401)
new_esEs31(zzz79802, zzz80402, app(ty_Maybe, edf)) → new_esEs21(zzz79802, zzz80402, edf)
new_gt17(zzz832, zzz838, ty_Bool) → new_gt2(zzz832, zzz838)
new_gt14(zzz1187, zzz1182, app(app(ty_@2, eca), ecb)) → new_gt6(zzz1187, zzz1182, eca, ecb)
new_esEs35(zzz948, zzz951, ty_Double) → new_esEs25(zzz948, zzz951)
new_lt25(zzz1085, zzz10890, ty_Double) → new_lt8(zzz1085, zzz10890)
new_esEs30(zzz8880, zzz8890, ty_Ordering) → new_esEs19(zzz8880, zzz8890)
new_esEs20(Right(zzz79800), Right(zzz80400), cad, app(app(ty_Either, cba), cbb)) → new_esEs20(zzz79800, zzz80400, cba, cbb)
new_esEs33(zzz79800, zzz80400, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_ltEs22(zzz900, zzz901, ty_Bool) → new_ltEs15(zzz900, zzz901)
new_esEs32(zzz79801, zzz80401, ty_Int) → new_esEs28(zzz79801, zzz80401)
new_compare15(zzz977, zzz978, False, bda) → GT
new_splitLT20(zzz1058, zzz1059, zzz1060, zzz1061, zzz1062, zzz1063, True, bgg, bgh) → new_splitLT0(zzz1061, zzz1063, bgg, bgh)
new_lt25(zzz1085, zzz10890, app(app(app(ty_@3, bec), bed), bee)) → new_lt17(zzz1085, zzz10890, bec, bed, bee)
new_gt17(zzz832, zzz838, app(app(app(ty_@3, fha), fhb), fhc)) → new_gt12(zzz832, zzz838, fha, fhb, fhc)
new_gt5(zzz832, zzz838, ceh) → new_esEs41(new_compare0(zzz832, zzz838, ceh))
new_compare18(EQ, EQ) → EQ
new_esEs14(zzz79801, zzz80401, app(ty_Ratio, fd)) → new_esEs17(zzz79801, zzz80401, fd)
new_esEs4(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_gt10(zzz832, zzz838, fgh) → new_esEs41(new_compare6(zzz832, zzz838, fgh))
new_esEs38(zzz8880, zzz8890, ty_Ordering) → new_esEs19(zzz8880, zzz8890)
new_esEs38(zzz8880, zzz8890, ty_Integer) → new_esEs26(zzz8880, zzz8890)
new_esEs8(zzz7981, zzz8041, app(ty_[], ffa)) → new_esEs22(zzz7981, zzz8041, ffa)
new_ltEs15(True, True) → True
new_lt21(zzz948, zzz951, app(app(app(ty_@3, fca), fcb), fcc)) → new_lt17(zzz948, zzz951, fca, fcb, fcc)
new_esEs29(zzz8881, zzz8891, ty_Char) → new_esEs18(zzz8881, zzz8891)
new_lt27(zzz1048, zzz1043, ty_Int) → new_lt9(zzz1048, zzz1043)
new_esEs34(zzz949, zzz952, ty_Float) → new_esEs24(zzz949, zzz952)
new_splitGT10(zzz1085, zzz1086, zzz1087, zzz1088, zzz1089, zzz1090, False, bde, bdf) → zzz1089
new_gt16(zzz867, zzz862, app(ty_Ratio, daf)) → new_gt13(zzz867, zzz862, daf)
new_ltEs15(False, True) → True
new_lt28(zzz798, zzz804, ty_Integer) → new_lt15(zzz798, zzz804)
new_esEs36(zzz79800, zzz80400, app(ty_[], gbg)) → new_esEs22(zzz79800, zzz80400, gbg)
new_ltEs22(zzz900, zzz901, app(ty_Maybe, bfe)) → new_ltEs6(zzz900, zzz901, bfe)
new_ltEs16(EQ, GT) → True
new_lt25(zzz1085, zzz10890, ty_Integer) → new_lt15(zzz1085, zzz10890)
new_ltEs24(zzz8881, zzz8891, ty_Double) → new_ltEs7(zzz8881, zzz8891)
new_lt23(zzz8880, zzz8890, app(ty_[], hba)) → new_lt10(zzz8880, zzz8890, hba)
new_esEs31(zzz79802, zzz80402, ty_@0) → new_esEs27(zzz79802, zzz80402)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(app(ty_Either, gce), gcf), bcb) → new_ltEs10(zzz8880, zzz8890, gce, gcf)
new_ltEs18(@2(zzz8880, zzz8881), @2(zzz8890, zzz8891), bcg, bch) → new_pePe(new_lt23(zzz8880, zzz8890, bcg), new_asAs(new_esEs38(zzz8880, zzz8890, bcg), new_ltEs24(zzz8881, zzz8891, bch)))
new_gt15(zzz1063, zzz1058, app(app(app(ty_@3, gab), gac), gad)) → new_gt12(zzz1063, zzz1058, gab, gac, gad)
new_ltEs5(zzz8882, zzz8892, app(ty_[], dcf)) → new_ltEs9(zzz8882, zzz8892, dcf)
new_esEs12(LT) → True
new_ltEs15(False, False) → True
new_ltEs10(Left(zzz8880), Left(zzz8890), app(app(app(ty_@3, gcg), gch), gda), bcb) → new_ltEs4(zzz8880, zzz8890, gcg, gch, gda)
new_lt23(zzz8880, zzz8890, ty_Float) → new_lt12(zzz8880, zzz8890)
new_compare18(GT, GT) → EQ
new_lt5(zzz8881, zzz8891, ty_Float) → new_lt12(zzz8881, zzz8891)
new_primCmpNat0(Zero, Succ(zzz80400)) → LT
new_esEs20(Right(zzz79800), Right(zzz80400), cad, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_splitLT10(zzz1100, zzz1101, zzz1102, zzz1103, zzz1104, zzz1105, True, cgg, cgh) → new_mkVBalBranch0(zzz1100, zzz1101, zzz1103, new_splitLT0(zzz1104, zzz1105, cgg, cgh), cgg, cgh)
new_esEs11(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_mkBalBranch6MkBalBranch3(zzz9360, zzz9361, zzz1141, zzz9364, False, cb, cc) → new_mkBranchResult(zzz9360, zzz9361, zzz9364, zzz1141, cb, cc)
new_ltEs21(zzz888, zzz889, ty_Bool) → new_ltEs15(zzz888, zzz889)
new_gt15(zzz1063, zzz1058, app(app(ty_@2, gaf), gag)) → new_gt6(zzz1063, zzz1058, gaf, gag)
new_lt26(zzz867, zzz862, ty_Char) → new_lt13(zzz867, zzz862)
new_lt28(zzz798, zzz804, ty_Float) → new_lt12(zzz798, zzz804)
new_lt22(zzz961, zzz963, app(ty_Maybe, cca)) → new_lt7(zzz961, zzz963, cca)
new_lt27(zzz1048, zzz1043, ty_Bool) → new_lt4(zzz1048, zzz1043)
new_ltEs19(zzz950, zzz953, app(app(app(ty_@3, ehe), ehf), ehg)) → new_ltEs4(zzz950, zzz953, ehe, ehf, ehg)
new_esEs15(zzz79800, zzz80400, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_esEs29(zzz8881, zzz8891, ty_Ordering) → new_esEs19(zzz8881, zzz8891)
new_esEs10(zzz7981, zzz8041, app(app(ty_@2, ggb), ggc)) → new_esEs13(zzz7981, zzz8041, ggb, ggc)
new_intersectFM_C2Lts(zzz862, zzz863, zzz864, zzz865, zzz866, zzz867, cb, ce) → new_splitLT30(zzz862, zzz863, zzz864, zzz865, zzz866, zzz867, cb, ce)
new_esEs37(zzz961, zzz963, app(ty_Ratio, cch)) → new_esEs17(zzz961, zzz963, cch)
new_lt20(zzz949, zzz952, app(app(ty_@2, fbc), fbd)) → new_lt19(zzz949, zzz952, fbc, fbd)
new_compare18(LT, GT) → LT
new_mkVBalBranch0(zzz1085, zzz1086, EmptyFM, zzz1089, bde, bdf) → new_addToFM(zzz1089, zzz1085, zzz1086, bde, bdf)
new_esEs38(zzz8880, zzz8890, ty_Int) → new_esEs28(zzz8880, zzz8890)
new_lt23(zzz8880, zzz8890, ty_Integer) → new_lt15(zzz8880, zzz8890)
new_esEs37(zzz961, zzz963, app(app(ty_Either, ccc), ccd)) → new_esEs20(zzz961, zzz963, ccc, ccd)
new_lt28(zzz798, zzz804, app(app(ty_@2, cfc), cfd)) → new_lt19(zzz798, zzz804, cfc, cfd)
new_mkBranchResult(zzz9360, zzz9361, zzz9364, zzz1141, cb, cc) → Branch(zzz9360, zzz9361, new_primPlusInt(new_primPlusInt(Pos(Succ(Zero)), new_sizeFM0(zzz1141, cb, cc)), new_sizeFM0(zzz9364, cb, cc)), zzz1141, zzz9364)
new_esEs7(zzz7982, zzz8042, app(app(ty_Either, fdd), fde)) → new_esEs20(zzz7982, zzz8042, fdd, fde)
new_lt6(zzz8880, zzz8890, app(ty_Ratio, dfh)) → new_lt18(zzz8880, zzz8890, dfh)
new_compare31(zzz7980, zzz8040, ty_Ordering) → new_compare18(zzz7980, zzz8040)
new_compare27(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, False, egf, egg, egh) → new_compare11(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, new_lt21(zzz948, zzz951, egf), new_asAs(new_esEs35(zzz948, zzz951, egf), new_pePe(new_lt20(zzz949, zzz952, egg), new_asAs(new_esEs34(zzz949, zzz952, egg), new_ltEs19(zzz950, zzz953, egh)))), egf, egg, egh)
new_ltEs17(zzz888, zzz889, bcf) → new_fsEs(new_compare9(zzz888, zzz889, bcf))
new_ltEs12(zzz888, zzz889) → new_fsEs(new_compare29(zzz888, zzz889))
new_lt8(zzz798, zzz804) → new_esEs12(new_compare19(zzz798, zzz804))
new_ltEs22(zzz900, zzz901, ty_Char) → new_ltEs12(zzz900, zzz901)
new_gt16(zzz867, zzz862, app(ty_Maybe, chg)) → new_gt10(zzz867, zzz862, chg)
new_sr(zzz7980, zzz8040) → new_primMulInt(zzz7980, zzz8040)
new_esEs20(Left(zzz79800), Left(zzz80400), app(ty_Ratio, bhe), bhd) → new_esEs17(zzz79800, zzz80400, bhe)
new_esEs14(zzz79801, zzz80401, app(ty_[], ga)) → new_esEs22(zzz79801, zzz80401, ga)
new_esEs5(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_primPlusInt(Neg(zzz114120), Neg(zzz12280)) → Neg(new_primPlusNat1(zzz114120, zzz12280))
new_ltEs5(zzz8882, zzz8892, ty_Float) → new_ltEs11(zzz8882, zzz8892)
new_lt22(zzz961, zzz963, app(ty_Ratio, cch)) → new_lt18(zzz961, zzz963, cch)
new_compare110(zzz1009, zzz1010, zzz1011, zzz1012, False, zzz1014, bfa, bfb) → new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, zzz1014, bfa, bfb)
new_lt28(zzz798, zzz804, ty_Double) → new_lt8(zzz798, zzz804)
new_esEs9(zzz7980, zzz8040, app(ty_[], fgc)) → new_esEs22(zzz7980, zzz8040, fgc)
new_esEs8(zzz7981, zzz8041, ty_Char) → new_esEs18(zzz7981, zzz8041)
new_ltEs11(zzz888, zzz889) → new_fsEs(new_compare16(zzz888, zzz889))
new_ltEs13(zzz888, zzz889) → new_fsEs(new_compare13(zzz888, zzz889))
new_gt16(zzz867, zzz862, ty_Int) → new_gt11(zzz867, zzz862)
new_esEs8(zzz7981, zzz8041, app(ty_Maybe, feh)) → new_esEs21(zzz7981, zzz8041, feh)
new_esEs10(zzz7981, zzz8041, ty_Ordering) → new_esEs19(zzz7981, zzz8041)
new_ltEs16(LT, EQ) → True
new_esEs5(zzz7980, zzz8040, app(ty_[], dhb)) → new_esEs22(zzz7980, zzz8040, dhb)
new_lt23(zzz8880, zzz8890, app(app(ty_@2, hbh), hca)) → new_lt19(zzz8880, zzz8890, hbh, hca)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Ordering) → new_ltEs16(zzz8880, zzz8890)
new_ltEs19(zzz950, zzz953, app(ty_Ratio, ehh)) → new_ltEs17(zzz950, zzz953, ehh)
new_lt25(zzz1085, zzz10890, app(app(ty_Either, bea), beb)) → new_lt11(zzz1085, zzz10890, bea, beb)
new_lt23(zzz8880, zzz8890, ty_Int) → new_lt9(zzz8880, zzz8890)
new_lt23(zzz8880, zzz8890, ty_@0) → new_lt14(zzz8880, zzz8890)
new_compare111(zzz1009, zzz1010, zzz1011, zzz1012, True, bfa, bfb) → LT
new_lt20(zzz949, zzz952, app(app(app(ty_@3, fag), fah), fba)) → new_lt17(zzz949, zzz952, fag, fah, fba)
new_ltEs20(zzz907, zzz908, ty_Char) → new_ltEs12(zzz907, zzz908)
new_ltEs20(zzz907, zzz908, app(ty_Ratio, bba)) → new_ltEs17(zzz907, zzz908, bba)
new_lt18(zzz798, zzz804, gfa) → new_esEs12(new_compare9(zzz798, zzz804, gfa))
new_primEqInt(Neg(Succ(zzz798000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(zzz804000))) → False
new_ltEs19(zzz950, zzz953, ty_Char) → new_ltEs12(zzz950, zzz953)
new_esEs36(zzz79800, zzz80400, ty_Double) → new_esEs25(zzz79800, zzz80400)
new_splitLT30(zzz862, zzz863, zzz864, zzz865, zzz866, zzz867, cb, ce) → new_splitLT20(zzz862, zzz863, zzz864, zzz865, zzz866, zzz867, new_lt26(zzz867, zzz862, cb), cb, ce)
new_esEs40(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_esEs7(zzz7982, zzz8042, ty_Ordering) → new_esEs19(zzz7982, zzz8042)
new_esEs6(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_esEs15(zzz79800, zzz80400, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_gt14(zzz1187, zzz1182, app(ty_Maybe, eba)) → new_gt10(zzz1187, zzz1182, eba)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_@0) → new_ltEs13(zzz8880, zzz8890)
new_lt6(zzz8880, zzz8890, ty_Float) → new_lt12(zzz8880, zzz8890)
new_lt28(zzz798, zzz804, app(ty_Maybe, cha)) → new_lt7(zzz798, zzz804, cha)
new_lt6(zzz8880, zzz8890, ty_@0) → new_lt14(zzz8880, zzz8890)
new_lt28(zzz798, zzz804, ty_Int) → new_lt9(zzz798, zzz804)
new_ltEs24(zzz8881, zzz8891, app(app(ty_Either, ghh), haa)) → new_ltEs10(zzz8881, zzz8891, ghh, haa)
new_ltEs16(GT, LT) → False
new_splitLT0(Branch(zzz10610, zzz10611, zzz10612, zzz10613, zzz10614), zzz1063, bgg, bgh) → new_splitLT30(zzz10610, zzz10611, zzz10612, zzz10613, zzz10614, zzz1063, bgg, bgh)
new_lt20(zzz949, zzz952, ty_Double) → new_lt8(zzz949, zzz952)
new_lt6(zzz8880, zzz8890, ty_Double) → new_lt8(zzz8880, zzz8890)
new_esEs35(zzz948, zzz951, ty_Char) → new_esEs18(zzz948, zzz951)
new_primCmpNat0(Succ(zzz79800), Succ(zzz80400)) → new_primCmpNat0(zzz79800, zzz80400)
new_primMinusNat0(Succ(zzz1141200), Zero) → Pos(Succ(zzz1141200))
new_esEs38(zzz8880, zzz8890, ty_Float) → new_esEs24(zzz8880, zzz8890)
new_lt6(zzz8880, zzz8890, ty_Char) → new_lt13(zzz8880, zzz8890)
new_ltEs23(zzz962, zzz964, ty_Double) → new_ltEs7(zzz962, zzz964)
new_compare10(zzz984, zzz985, False, ecc, ecd) → GT
new_ltEs23(zzz962, zzz964, app(app(app(ty_@3, cdg), cdh), cea)) → new_ltEs4(zzz962, zzz964, cdg, cdh, cea)
new_ltEs5(zzz8882, zzz8892, ty_Ordering) → new_ltEs16(zzz8882, zzz8892)
new_esEs14(zzz79801, zzz80401, ty_Ordering) → new_esEs19(zzz79801, zzz80401)
new_esEs38(zzz8880, zzz8890, app(app(ty_@2, hbh), hca)) → new_esEs13(zzz8880, zzz8890, hbh, hca)
new_esEs34(zzz949, zzz952, ty_Int) → new_esEs28(zzz949, zzz952)
new_esEs36(zzz79800, zzz80400, ty_Float) → new_esEs24(zzz79800, zzz80400)
new_compare12(zzz991, zzz992, True, fgf, fgg) → LT
new_esEs11(zzz7980, zzz8040, app(app(ty_Either, ggh), gha)) → new_esEs20(zzz7980, zzz8040, ggh, gha)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Bool, bcb) → new_ltEs15(zzz8880, zzz8890)
new_esEs20(Right(zzz79800), Right(zzz80400), cad, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_lt10(zzz798, zzz804, bdb) → new_esEs12(new_compare0(zzz798, zzz804, bdb))
new_lt16(zzz798, zzz804) → new_esEs12(new_compare18(zzz798, zzz804))
new_compare6(Nothing, Nothing, cha) → EQ
new_lt25(zzz1085, zzz10890, ty_Float) → new_lt12(zzz1085, zzz10890)
new_esEs30(zzz8880, zzz8890, ty_Integer) → new_esEs26(zzz8880, zzz8890)
new_gt16(zzz867, zzz862, app(app(ty_@2, dag), dah)) → new_gt6(zzz867, zzz862, dag, dah)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Char) → new_ltEs12(zzz8880, zzz8890)
new_ltEs8(zzz888, zzz889) → new_fsEs(new_compare14(zzz888, zzz889))
new_sizeFM(zzz9360, zzz9361, zzz9362, zzz9363, zzz9364, cb, cc) → zzz9362
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Float) → new_esEs24(zzz79800, zzz80400)
new_primEqInt(Pos(Succ(zzz798000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(zzz804000))) → False
new_splitGT10(zzz1085, zzz1086, zzz1087, zzz1088, zzz1089, zzz1090, True, bde, bdf) → new_mkVBalBranch0(zzz1085, zzz1086, new_splitGT0(zzz1088, zzz1090, bde, bdf), zzz1089, bde, bdf)
new_esEs5(zzz7980, zzz8040, app(app(ty_@2, dhc), dhd)) → new_esEs13(zzz7980, zzz8040, dhc, dhd)
new_ltEs5(zzz8882, zzz8892, ty_@0) → new_ltEs13(zzz8882, zzz8892)
new_ltEs19(zzz950, zzz953, app(ty_Maybe, eha)) → new_ltEs6(zzz950, zzz953, eha)
new_ltEs24(zzz8881, zzz8891, app(app(ty_@2, haf), hag)) → new_ltEs18(zzz8881, zzz8891, haf, hag)
new_esEs5(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_primCmpNat0(Zero, Zero) → EQ
new_compare27(zzz948, zzz949, zzz950, zzz951, zzz952, zzz953, True, egf, egg, egh) → EQ
new_esEs13(@2(zzz79800, zzz79801), @2(zzz80400, zzz80401), eg, eh) → new_asAs(new_esEs15(zzz79800, zzz80400, eg), new_esEs14(zzz79801, zzz80401, eh))
new_primCmpNat0(Succ(zzz79800), Zero) → GT
new_ltEs21(zzz888, zzz889, app(ty_Ratio, bcf)) → new_ltEs17(zzz888, zzz889, bcf)
new_esEs36(zzz79800, zzz80400, ty_@0) → new_esEs27(zzz79800, zzz80400)
new_primCmpInt(Neg(Zero), Pos(Succ(zzz80400))) → LT
new_gt14(zzz1187, zzz1182, app(ty_Ratio, ebh)) → new_gt13(zzz1187, zzz1182, ebh)
new_esEs10(zzz7981, zzz8041, ty_Float) → new_esEs24(zzz7981, zzz8041)
new_esEs37(zzz961, zzz963, ty_Float) → new_esEs24(zzz961, zzz963)
new_esEs11(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_esEs20(Left(zzz79800), Left(zzz80400), app(app(ty_Either, bhf), bhg), bhd) → new_esEs20(zzz79800, zzz80400, bhf, bhg)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(ty_[], gcc), bcb) → new_ltEs9(zzz8880, zzz8890, gcc)
new_sr0(Integer(zzz79800), Integer(zzz80410)) → Integer(new_primMulInt(zzz79800, zzz80410))
new_esEs23(True, True) → True
new_primEqInt(Pos(Succ(zzz798000)), Neg(zzz80400)) → False
new_primEqInt(Neg(Succ(zzz798000)), Pos(zzz80400)) → False
new_lt25(zzz1085, zzz10890, app(ty_Ratio, bef)) → new_lt18(zzz1085, zzz10890, bef)
new_ltEs5(zzz8882, zzz8892, ty_Double) → new_ltEs7(zzz8882, zzz8892)
new_esEs22(:(zzz79800, zzz79801), :(zzz80400, zzz80401), chf) → new_asAs(new_esEs36(zzz79800, zzz80400, chf), new_esEs22(zzz79801, zzz80401, chf))
new_primPlusInt(Neg(zzz114120), Pos(zzz12280)) → new_primMinusNat0(zzz12280, zzz114120)
new_primPlusInt(Pos(zzz114120), Neg(zzz12280)) → new_primMinusNat0(zzz114120, zzz12280)
new_mkBalBranch6MkBalBranch3(zzz9360, zzz9361, EmptyFM, zzz9364, True, cb, cc) → error([])
new_ltEs6(Just(zzz8880), Just(zzz8890), app(ty_Maybe, hcb)) → new_ltEs6(zzz8880, zzz8890, hcb)
new_esEs5(zzz7980, zzz8040, app(ty_Maybe, dha)) → new_esEs21(zzz7980, zzz8040, dha)
new_lt6(zzz8880, zzz8890, ty_Integer) → new_lt15(zzz8880, zzz8890)
new_compare5(True, False) → GT
new_compare18(EQ, LT) → GT
new_lt28(zzz798, zzz804, app(ty_[], bdb)) → new_lt10(zzz798, zzz804, bdb)
new_ltEs22(zzz900, zzz901, app(app(app(ty_@3, bga), bgb), bgc)) → new_ltEs4(zzz900, zzz901, bga, bgb, bgc)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Char) → new_esEs18(zzz79800, zzz80400)
new_esEs23(True, False) → False
new_esEs23(False, True) → False
new_ltEs23(zzz962, zzz964, app(app(ty_@2, cec), ced)) → new_ltEs18(zzz962, zzz964, cec, ced)
new_esEs33(zzz79800, zzz80400, ty_Bool) → new_esEs23(zzz79800, zzz80400)
new_esEs35(zzz948, zzz951, app(ty_Maybe, fbe)) → new_esEs21(zzz948, zzz951, fbe)
new_esEs38(zzz8880, zzz8890, app(app(app(ty_@3, hbd), hbe), hbf)) → new_esEs16(zzz8880, zzz8890, hbd, hbe, hbf)
new_esEs22([], [], chf) → True
new_lt28(zzz798, zzz804, ty_@0) → new_lt14(zzz798, zzz804)
new_esEs41(EQ) → False
new_mkBalBranch6MkBalBranch11(zzz9360, zzz9361, zzz11410, zzz11411, zzz11412, zzz11413, zzz11414, zzz9364, True, cb, cc) → new_mkBranch0(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), zzz11410, zzz11411, zzz11413, Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), zzz9360, zzz9361, zzz11414, zzz9364, cb, cc)
new_esEs6(zzz7980, zzz8040, app(app(ty_@2, eae), eaf)) → new_esEs13(zzz7980, zzz8040, eae, eaf)
new_esEs15(zzz79800, zzz80400, ty_Int) → new_esEs28(zzz79800, zzz80400)
new_esEs11(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_esEs7(zzz7982, zzz8042, app(ty_Ratio, fdc)) → new_esEs17(zzz7982, zzz8042, fdc)
new_ltEs23(zzz962, zzz964, app(ty_Ratio, ceb)) → new_ltEs17(zzz962, zzz964, ceb)
new_esEs29(zzz8881, zzz8891, ty_Bool) → new_esEs23(zzz8881, zzz8891)
new_esEs20(Right(zzz79800), Right(zzz80400), cad, app(app(ty_@2, cbe), cbf)) → new_esEs13(zzz79800, zzz80400, cbe, cbf)
new_primCmpInt(Pos(Succ(zzz79800)), Pos(zzz8040)) → new_primCmpNat0(Succ(zzz79800), zzz8040)
new_primPlusNat0(Zero, zzz804000) → Succ(zzz804000)
new_esEs8(zzz7981, zzz8041, ty_Ordering) → new_esEs19(zzz7981, zzz8041)
new_esEs33(zzz79800, zzz80400, app(ty_Ratio, efg)) → new_esEs17(zzz79800, zzz80400, efg)
new_esEs31(zzz79802, zzz80402, app(ty_[], edg)) → new_esEs22(zzz79802, zzz80402, edg)
new_lt21(zzz948, zzz951, ty_Bool) → new_lt4(zzz948, zzz951)
new_ltEs5(zzz8882, zzz8892, ty_Integer) → new_ltEs14(zzz8882, zzz8892)
new_mkBalBranch6Size_r(zzz9360, zzz9361, zzz1141, zzz9364, cb, cc) → new_sizeFM0(zzz9364, cb, cc)
new_lt21(zzz948, zzz951, ty_@0) → new_lt14(zzz948, zzz951)
new_lt22(zzz961, zzz963, ty_Ordering) → new_lt16(zzz961, zzz963)
new_esEs34(zzz949, zzz952, ty_@0) → new_esEs27(zzz949, zzz952)
new_lt26(zzz867, zzz862, app(app(ty_@2, dag), dah)) → new_lt19(zzz867, zzz862, dag, dah)
new_esEs5(zzz7980, zzz8040, app(app(app(ty_@3, dgc), dgd), dge)) → new_esEs16(zzz7980, zzz8040, dgc, dgd, dge)
new_esEs8(zzz7981, zzz8041, ty_Integer) → new_esEs26(zzz7981, zzz8041)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_@0, bhd) → new_esEs27(zzz79800, zzz80400)
new_esEs19(GT, LT) → False
new_esEs19(LT, GT) → False
new_esEs31(zzz79802, zzz80402, ty_Integer) → new_esEs26(zzz79802, zzz80402)
new_lt21(zzz948, zzz951, ty_Double) → new_lt8(zzz948, zzz951)
new_esEs5(zzz7980, zzz8040, ty_Int) → new_esEs28(zzz7980, zzz8040)
new_primCmpInt(Pos(Succ(zzz79800)), Neg(zzz8040)) → GT
new_esEs38(zzz8880, zzz8890, ty_@0) → new_esEs27(zzz8880, zzz8890)
new_esEs6(zzz7980, zzz8040, ty_Bool) → new_esEs23(zzz7980, zzz8040)
new_lt23(zzz8880, zzz8890, app(app(ty_Either, hbb), hbc)) → new_lt11(zzz8880, zzz8890, hbb, hbc)
new_lt25(zzz1085, zzz10890, app(ty_[], bdh)) → new_lt10(zzz1085, zzz10890, bdh)
new_primMulInt(Pos(zzz79800), Pos(zzz80400)) → Pos(new_primMulNat0(zzz79800, zzz80400))
new_esEs30(zzz8880, zzz8890, app(app(ty_Either, dfc), dfd)) → new_esEs20(zzz8880, zzz8890, dfc, dfd)
new_esEs4(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_lt7(zzz798, zzz804, cha) → new_esEs12(new_compare6(zzz798, zzz804, cha))
new_esEs15(zzz79800, zzz80400, app(ty_Ratio, gg)) → new_esEs17(zzz79800, zzz80400, gg)
new_ltEs21(zzz888, zzz889, app(app(app(ty_@3, bcc), bcd), bce)) → new_ltEs4(zzz888, zzz889, bcc, bcd, bce)
new_gt15(zzz1063, zzz1058, app(ty_Maybe, fhf)) → new_gt10(zzz1063, zzz1058, fhf)
new_mkVBalBranch3MkVBalBranch20(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, True, bde, bdf) → new_mkBalBranch(zzz10890, zzz10891, new_mkVBalBranch0(zzz1085, zzz1086, Branch(zzz11470, zzz11471, zzz11472, zzz11473, zzz11474), zzz10893, bde, bdf), zzz10894, bde, bdf)
new_lt20(zzz949, zzz952, ty_@0) → new_lt14(zzz949, zzz952)
new_ltEs22(zzz900, zzz901, ty_@0) → new_ltEs13(zzz900, zzz901)
new_gt1(zzz832, zzz838, bbd, bbe) → new_esEs41(new_compare7(zzz832, zzz838, bbd, bbe))
new_esEs34(zzz949, zzz952, app(ty_[], fad)) → new_esEs22(zzz949, zzz952, fad)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_mkVBalBranch3MkVBalBranch10(zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz1085, zzz1086, False, bde, bdf) → new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), zzz1085, zzz1086, zzz11470, zzz11471, zzz11472, zzz11473, zzz11474, zzz10890, zzz10891, zzz10892, zzz10893, zzz10894, bde, bdf)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(app(ty_Either, hcd), hce)) → new_ltEs10(zzz8880, zzz8890, hcd, hce)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(ty_Ratio, hda)) → new_ltEs17(zzz8880, zzz8890, hda)
new_esEs33(zzz79800, zzz80400, app(ty_Maybe, egb)) → new_esEs21(zzz79800, zzz80400, egb)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(ty_[], hcc)) → new_ltEs9(zzz8880, zzz8890, hcc)
new_esEs9(zzz7980, zzz8040, ty_Ordering) → new_esEs19(zzz7980, zzz8040)
new_ltEs24(zzz8881, zzz8891, ty_Ordering) → new_ltEs16(zzz8881, zzz8891)
new_sizeFM0(EmptyFM, cb, cc) → Pos(Zero)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Double, bcb) → new_ltEs7(zzz8880, zzz8890)
new_lt28(zzz798, zzz804, ty_Ordering) → new_lt16(zzz798, zzz804)
new_gt15(zzz1063, zzz1058, ty_Bool) → new_gt2(zzz1063, zzz1058)
new_esEs5(zzz7980, zzz8040, app(app(ty_Either, dgg), dgh)) → new_esEs20(zzz7980, zzz8040, dgg, dgh)
new_ltEs20(zzz907, zzz908, app(ty_Maybe, bab)) → new_ltEs6(zzz907, zzz908, bab)
new_lt21(zzz948, zzz951, ty_Integer) → new_lt15(zzz948, zzz951)
new_esEs11(zzz7980, zzz8040, app(app(app(ty_@3, ggd), gge), ggf)) → new_esEs16(zzz7980, zzz8040, ggd, gge, ggf)
new_esEs9(zzz7980, zzz8040, app(ty_Ratio, ffg)) → new_esEs17(zzz7980, zzz8040, ffg)
new_primCmpInt(Neg(Zero), Neg(Succ(zzz80400))) → new_primCmpNat0(Succ(zzz80400), Zero)
new_esEs29(zzz8881, zzz8891, app(app(ty_Either, dea), deb)) → new_esEs20(zzz8881, zzz8891, dea, deb)
new_lt27(zzz1048, zzz1043, app(ty_[], dbd)) → new_lt10(zzz1048, zzz1043, dbd)
new_esEs37(zzz961, zzz963, ty_Bool) → new_esEs23(zzz961, zzz963)
new_ltEs22(zzz900, zzz901, ty_Integer) → new_ltEs14(zzz900, zzz901)
new_esEs37(zzz961, zzz963, ty_Char) → new_esEs18(zzz961, zzz963)
new_ltEs21(zzz888, zzz889, app(app(ty_Either, bca), bcb)) → new_ltEs10(zzz888, zzz889, bca, bcb)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_@0) → new_esEs27(zzz79800, zzz80400)
new_gt9(zzz832, zzz838) → new_esEs41(new_compare29(zzz832, zzz838))
new_esEs31(zzz79802, zzz80402, ty_Float) → new_esEs24(zzz79802, zzz80402)
new_compare6(Just(zzz7980), Just(zzz8040), cha) → new_compare28(zzz7980, zzz8040, new_esEs4(zzz7980, zzz8040, cha), cha)
new_lt26(zzz867, zzz862, ty_Integer) → new_lt15(zzz867, zzz862)
new_esEs33(zzz79800, zzz80400, app(ty_[], egc)) → new_esEs22(zzz79800, zzz80400, egc)
new_esEs19(GT, EQ) → False
new_esEs19(EQ, GT) → False
new_lt5(zzz8881, zzz8891, app(ty_Maybe, ddg)) → new_lt7(zzz8881, zzz8891, ddg)
new_lt5(zzz8881, zzz8891, ty_Bool) → new_lt4(zzz8881, zzz8891)
new_gt15(zzz1063, zzz1058, app(ty_[], fhg)) → new_gt5(zzz1063, zzz1058, fhg)
new_gt17(zzz832, zzz838, ty_Integer) → new_gt0(zzz832, zzz838)
new_primPlusInt(Pos(zzz114120), Pos(zzz12280)) → Pos(new_primPlusNat1(zzz114120, zzz12280))
new_lt25(zzz1085, zzz10890, ty_Ordering) → new_lt16(zzz1085, zzz10890)
new_esEs10(zzz7981, zzz8041, ty_Integer) → new_esEs26(zzz7981, zzz8041)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(app(app(ty_@3, hcf), hcg), hch)) → new_ltEs4(zzz8880, zzz8890, hcf, hcg, hch)
new_esEs22([], :(zzz80400, zzz80401), chf) → False
new_esEs22(:(zzz79800, zzz79801), [], chf) → False
new_esEs5(zzz7980, zzz8040, ty_Float) → new_esEs24(zzz7980, zzz8040)
new_lt23(zzz8880, zzz8890, ty_Ordering) → new_lt16(zzz8880, zzz8890)
new_gt14(zzz1187, zzz1182, ty_@0) → new_gt3(zzz1187, zzz1182)
new_lt26(zzz867, zzz862, ty_Float) → new_lt12(zzz867, zzz862)
new_gt14(zzz1187, zzz1182, app(app(ty_Either, ebc), ebd)) → new_gt1(zzz1187, zzz1182, ebc, ebd)
new_gt14(zzz1187, zzz1182, app(app(app(ty_@3, ebe), ebf), ebg)) → new_gt12(zzz1187, zzz1182, ebe, ebf, ebg)
new_gt2(zzz832, zzz838) → new_esEs41(new_compare5(zzz832, zzz838))
new_lt4(zzz798, zzz804) → new_esEs12(new_compare5(zzz798, zzz804))
new_primMulNat0(Succ(zzz798000), Zero) → Zero
new_primMulNat0(Zero, Succ(zzz804000)) → Zero
new_esEs6(zzz7980, zzz8040, ty_@0) → new_esEs27(zzz7980, zzz8040)
new_lt17(zzz798, zzz804, ece, ecf, ecg) → new_esEs12(new_compare8(zzz798, zzz804, ece, ecf, ecg))
new_gt14(zzz1187, zzz1182, ty_Int) → new_gt11(zzz1187, zzz1182)
new_ltEs20(zzz907, zzz908, ty_Bool) → new_ltEs15(zzz907, zzz908)
new_esEs33(zzz79800, zzz80400, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_esEs31(zzz79802, zzz80402, ty_Ordering) → new_esEs19(zzz79802, zzz80402)
new_mkBalBranch6Size_l(zzz9360, zzz9361, zzz1141, zzz9364, cb, cc) → new_sizeFM0(zzz1141, cb, cc)
new_lt21(zzz948, zzz951, ty_Int) → new_lt9(zzz948, zzz951)
new_esEs15(zzz79800, zzz80400, ty_Integer) → new_esEs26(zzz79800, zzz80400)
new_lt22(zzz961, zzz963, app(ty_[], ccb)) → new_lt10(zzz961, zzz963, ccb)
new_gt8(zzz832, zzz838) → new_esEs41(new_compare16(zzz832, zzz838))
new_esEs38(zzz8880, zzz8890, ty_Double) → new_esEs25(zzz8880, zzz8890)
new_esEs7(zzz7982, zzz8042, ty_Int) → new_esEs28(zzz7982, zzz8042)
new_mkBranch(zzz1253, zzz1254, zzz1255, zzz1256, zzz1257, zzz1258, zzz1259, zzz1260, zzz1261, zzz1262, zzz1263, zzz1264, zzz1265, bdc, bdd) → new_mkBranchResult(zzz1254, zzz1255, Branch(zzz1261, zzz1262, zzz1263, zzz1264, zzz1265), Branch(zzz1256, zzz1257, zzz1258, zzz1259, zzz1260), bdc, bdd)
new_ltEs5(zzz8882, zzz8892, ty_Char) → new_ltEs12(zzz8882, zzz8892)
new_mkBalBranch6MkBalBranch01(zzz9360, zzz9361, zzz1141, zzz93640, zzz93641, zzz93642, EmptyFM, zzz93644, False, cb, cc) → error([])
new_lt21(zzz948, zzz951, ty_Ordering) → new_lt16(zzz948, zzz951)
new_ltEs10(Right(zzz8880), Right(zzz8890), bca, ty_Int) → new_ltEs8(zzz8880, zzz8890)
new_ltEs23(zzz962, zzz964, ty_Bool) → new_ltEs15(zzz962, zzz964)
new_ltEs4(@3(zzz8880, zzz8881, zzz8882), @3(zzz8890, zzz8891, zzz8892), bcc, bcd, bce) → new_pePe(new_lt6(zzz8880, zzz8890, bcc), new_asAs(new_esEs30(zzz8880, zzz8890, bcc), new_pePe(new_lt5(zzz8881, zzz8891, bcd), new_asAs(new_esEs29(zzz8881, zzz8891, bcd), new_ltEs5(zzz8882, zzz8892, bce)))))
new_ltEs10(Right(zzz8880), Right(zzz8890), bca, app(ty_Maybe, gde)) → new_ltEs6(zzz8880, zzz8890, gde)
new_esEs35(zzz948, zzz951, ty_Float) → new_esEs24(zzz948, zzz951)
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Bool) → new_ltEs15(zzz8880, zzz8890)
new_esEs15(zzz79800, zzz80400, app(ty_Maybe, hb)) → new_esEs21(zzz79800, zzz80400, hb)
new_primMinusNat0(Zero, Succ(zzz122800)) → Neg(Succ(zzz122800))
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Char, bcb) → new_ltEs12(zzz8880, zzz8890)
new_ltEs9(zzz888, zzz889, bbh) → new_fsEs(new_compare0(zzz888, zzz889, bbh))
new_esEs41(LT) → False
new_esEs20(Left(zzz79800), Left(zzz80400), app(app(ty_@2, cab), cac), bhd) → new_esEs13(zzz79800, zzz80400, cab, cac)
new_esEs32(zzz79801, zzz80401, app(ty_Ratio, eee)) → new_esEs17(zzz79801, zzz80401, eee)
new_ltEs24(zzz8881, zzz8891, ty_Char) → new_ltEs12(zzz8881, zzz8891)
new_gt0(zzz832, zzz838) → new_esEs41(new_compare17(zzz832, zzz838))
new_ltEs21(zzz888, zzz889, ty_@0) → new_ltEs13(zzz888, zzz889)
new_gt17(zzz832, zzz838, app(app(ty_@2, cfa), cfb)) → new_gt6(zzz832, zzz838, cfa, cfb)
new_ltEs20(zzz907, zzz908, ty_Float) → new_ltEs11(zzz907, zzz908)
new_splitLT0(EmptyFM, zzz1063, bgg, bgh) → new_emptyFM(bgg, bgh)
new_ltEs10(Right(zzz8880), Left(zzz8890), bca, bcb) → False
new_compare18(LT, LT) → EQ
new_esEs36(zzz79800, zzz80400, ty_Ordering) → new_esEs19(zzz79800, zzz80400)
new_ltEs22(zzz900, zzz901, app(ty_[], bff)) → new_ltEs9(zzz900, zzz901, bff)
new_lt21(zzz948, zzz951, ty_Float) → new_lt12(zzz948, zzz951)
new_lt27(zzz1048, zzz1043, ty_Char) → new_lt13(zzz1048, zzz1043)
new_esEs7(zzz7982, zzz8042, app(app(app(ty_@3, fch), fda), fdb)) → new_esEs16(zzz7982, zzz8042, fch, fda, fdb)
new_esEs34(zzz949, zzz952, app(app(ty_@2, fbc), fbd)) → new_esEs13(zzz949, zzz952, fbc, fbd)
new_esEs35(zzz948, zzz951, app(app(app(ty_@3, fca), fcb), fcc)) → new_esEs16(zzz948, zzz951, fca, fcb, fcc)
new_esEs6(zzz7980, zzz8040, ty_Integer) → new_esEs26(zzz7980, zzz8040)
new_esEs35(zzz948, zzz951, ty_Integer) → new_esEs26(zzz948, zzz951)
new_lt5(zzz8881, zzz8891, ty_Double) → new_lt8(zzz8881, zzz8891)
new_esEs37(zzz961, zzz963, ty_Integer) → new_esEs26(zzz961, zzz963)
new_mkBalBranch6MkBalBranch11(zzz9360, zzz9361, zzz11410, zzz11411, zzz11412, zzz11413, EmptyFM, zzz9364, False, cb, cc) → error([])
new_ltEs21(zzz888, zzz889, ty_Integer) → new_ltEs14(zzz888, zzz889)
new_compare15(zzz977, zzz978, True, bda) → LT
new_esEs8(zzz7981, zzz8041, app(app(ty_@2, ffb), ffc)) → new_esEs13(zzz7981, zzz8041, ffb, ffc)
new_ltEs21(zzz888, zzz889, ty_Double) → new_ltEs7(zzz888, zzz889)
new_esEs21(Just(zzz79800), Just(zzz80400), ty_Double) → new_esEs25(zzz79800, zzz80400)
new_primMulNat0(Succ(zzz798000), Succ(zzz804000)) → new_primPlusNat0(new_primMulNat0(zzz798000, Succ(zzz804000)), zzz804000)
new_mkBalBranch6MkBalBranch5(zzz9360, zzz9361, zzz1141, zzz9364, False, cb, cc) → new_mkBalBranch6MkBalBranch4(zzz9360, zzz9361, zzz1141, zzz9364, new_gt11(new_mkBalBranch6Size_r(zzz9360, zzz9361, zzz1141, zzz9364, cb, cc), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_l(zzz9360, zzz9361, zzz1141, zzz9364, cb, cc))), cb, cc)
new_lt22(zzz961, zzz963, ty_Bool) → new_lt4(zzz961, zzz963)
new_ltEs23(zzz962, zzz964, ty_Int) → new_ltEs8(zzz962, zzz964)
new_splitGT0(Branch(zzz10470, zzz10471, zzz10472, zzz10473, zzz10474), zzz1048, dba, dbb) → new_splitGT30(zzz10470, zzz10471, zzz10472, zzz10473, zzz10474, zzz1048, dba, dbb)
new_lt27(zzz1048, zzz1043, app(app(app(ty_@3, dbg), dbh), dca)) → new_lt17(zzz1048, zzz1043, dbg, dbh, dca)
new_esEs11(zzz7980, zzz8040, app(app(ty_@2, ghd), ghe)) → new_esEs13(zzz7980, zzz8040, ghd, ghe)
new_esEs4(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_ltEs6(Just(zzz8880), Just(zzz8890), app(app(ty_@2, hdb), hdc)) → new_ltEs18(zzz8880, zzz8890, hdb, hdc)
new_esEs33(zzz79800, zzz80400, ty_Char) → new_esEs18(zzz79800, zzz80400)
new_compare28(zzz888, zzz889, True, bbf) → EQ
new_gt16(zzz867, zzz862, ty_Ordering) → new_gt7(zzz867, zzz862)
new_lt20(zzz949, zzz952, ty_Int) → new_lt9(zzz949, zzz952)
new_compare18(LT, EQ) → LT
new_ltEs6(Just(zzz8880), Just(zzz8890), ty_Int) → new_ltEs8(zzz8880, zzz8890)
new_esEs29(zzz8881, zzz8891, ty_@0) → new_esEs27(zzz8881, zzz8891)
new_esEs9(zzz7980, zzz8040, ty_Char) → new_esEs18(zzz7980, zzz8040)
new_esEs37(zzz961, zzz963, ty_Ordering) → new_esEs19(zzz961, zzz963)
new_esEs15(zzz79800, zzz80400, app(app(ty_@2, hd), he)) → new_esEs13(zzz79800, zzz80400, hd, he)
new_compare112(zzz1026, zzz1027, zzz1028, zzz1029, zzz1030, zzz1031, True, cee, cef, ceg) → LT
new_ltEs20(zzz907, zzz908, ty_@0) → new_ltEs13(zzz907, zzz908)
new_esEs36(zzz79800, zzz80400, app(ty_Ratio, gbc)) → new_esEs17(zzz79800, zzz80400, gbc)
new_esEs11(zzz7980, zzz8040, app(ty_[], ghc)) → new_esEs22(zzz7980, zzz8040, ghc)
new_ltEs10(Left(zzz8880), Left(zzz8890), app(ty_Ratio, gdb), bcb) → new_ltEs17(zzz8880, zzz8890, gdb)
new_lt27(zzz1048, zzz1043, app(app(ty_Either, dbe), dbf)) → new_lt11(zzz1048, zzz1043, dbe, dbf)
new_esEs38(zzz8880, zzz8890, app(ty_Ratio, hbg)) → new_esEs17(zzz8880, zzz8890, hbg)
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_Integer, bcb) → new_ltEs14(zzz8880, zzz8890)
new_lt5(zzz8881, zzz8891, ty_@0) → new_lt14(zzz8881, zzz8891)
new_esEs20(Left(zzz79800), Left(zzz80400), ty_Integer, bhd) → new_esEs26(zzz79800, zzz80400)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_ltEs10(Left(zzz8880), Left(zzz8890), ty_@0, bcb) → new_ltEs13(zzz8880, zzz8890)
new_esEs11(zzz7980, zzz8040, ty_Double) → new_esEs25(zzz7980, zzz8040)
new_esEs29(zzz8881, zzz8891, ty_Int) → new_esEs28(zzz8881, zzz8891)
new_ltEs5(zzz8882, zzz8892, app(app(app(ty_@3, dda), ddb), ddc)) → new_ltEs4(zzz8882, zzz8892, dda, ddb, ddc)
new_gt15(zzz1063, zzz1058, ty_Double) → new_gt4(zzz1063, zzz1058)
new_lt26(zzz867, zzz862, app(ty_Maybe, chg)) → new_lt7(zzz867, zzz862, chg)
new_esEs32(zzz79801, zzz80401, ty_Char) → new_esEs18(zzz79801, zzz80401)
new_compare9(:%(zzz7980, zzz7981), :%(zzz8040, zzz8041), ty_Int) → new_compare14(new_sr(zzz7980, zzz8041), new_sr(zzz8040, zzz7981))
new_ltEs10(Left(zzz8880), Left(zzz8890), app(ty_Maybe, gcb), bcb) → new_ltEs6(zzz8880, zzz8890, gcb)
new_esEs32(zzz79801, zzz80401, app(app(ty_@2, efb), efc)) → new_esEs13(zzz79801, zzz80401, efb, efc)
new_lt22(zzz961, zzz963, app(app(ty_Either, ccc), ccd)) → new_lt11(zzz961, zzz963, ccc, ccd)
new_esEs14(zzz79801, zzz80401, ty_Float) → new_esEs24(zzz79801, zzz80401)
new_primCmpInt(Neg(Succ(zzz79800)), Pos(zzz8040)) → LT
new_gt14(zzz1187, zzz1182, app(ty_[], ebb)) → new_gt5(zzz1187, zzz1182, ebb)
new_esEs16(@3(zzz79800, zzz79801, zzz79802), @3(zzz80400, zzz80401, zzz80402), chb, chc, chd) → new_asAs(new_esEs33(zzz79800, zzz80400, chb), new_asAs(new_esEs32(zzz79801, zzz80401, chc), new_esEs31(zzz79802, zzz80402, chd)))

The set Q consists of the following terms:

new_esEs14(x0, x1, ty_Char)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs32(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs23(x0, x1, ty_Char)
new_ltEs6(Just(x0), Just(x1), ty_Double)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, app(ty_[], x2))
new_compare7(Right(x0), Right(x1), x2, x3)
new_lt22(x0, x1, app(ty_Ratio, x2))
new_ltEs22(x0, x1, app(app(ty_@2, x2), x3))
new_lt28(x0, x1, ty_Char)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_addToFM_C10(x0, x1, x2, x3, x4, x5, x6, False, x7, x8)
new_esEs5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, ty_Integer)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt26(x0, x1, ty_Double)
new_primMinusNat0(Zero, Zero)
new_gt16(x0, x1, ty_Float)
new_esEs36(x0, x1, app(ty_[], x2))
new_lt25(x0, x1, ty_Bool)
new_esEs22(:(x0, x1), [], x2)
new_lt21(x0, x1, ty_Integer)
new_ltEs21(x0, x1, ty_Char)
new_esEs15(x0, x1, ty_Integer)
new_compare0([], :(x0, x1), x2)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_gt14(x0, x1, ty_Float)
new_esEs30(x0, x1, ty_Int)
new_esEs35(x0, x1, ty_Float)
new_mkVBalBranch3MkVBalBranch20(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, False, x12, x13)
new_esEs9(x0, x1, ty_Int)
new_esEs38(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Integer)
new_esEs34(x0, x1, ty_Integer)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, ty_Char)
new_ltEs21(x0, x1, ty_Int)
new_esEs21(Nothing, Nothing, x0)
new_ltEs24(x0, x1, app(ty_Maybe, x2))
new_esEs22([], [], x0)
new_esEs20(Left(x0), Left(x1), ty_Bool, x2)
new_esEs37(x0, x1, ty_Char)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs16(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_gt17(x0, x1, ty_Double)
new_esEs15(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_lt27(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(x0, x1, ty_Int)
new_primPlusInt(Pos(x0), Pos(x1))
new_compare31(x0, x1, app(ty_Maybe, x2))
new_esEs10(x0, x1, app(ty_[], x2))
new_ltEs6(Just(x0), Just(x1), ty_Int)
new_gt15(x0, x1, app(ty_Ratio, x2))
new_ltEs15(True, True)
new_gt16(x0, x1, ty_Integer)
new_esEs32(x0, x1, ty_Int)
new_esEs37(x0, x1, app(app(ty_Either, x2), x3))
new_gt3(x0, x1)
new_esEs14(x0, x1, ty_Bool)
new_ltEs24(x0, x1, ty_Char)
new_esEs21(Just(x0), Just(x1), ty_@0)
new_esEs8(x0, x1, ty_Integer)
new_esEs4(x0, x1, ty_Int)
new_ltEs23(x0, x1, app(app(ty_@2, x2), x3))
new_splitGT0(EmptyFM, x0, x1, x2)
new_ltEs23(x0, x1, ty_@0)
new_esEs20(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_compare110(x0, x1, x2, x3, False, x4, x5, x6)
new_lt22(x0, x1, ty_Ordering)
new_gt15(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Float)
new_ltEs14(x0, x1)
new_mkVBalBranch0(x0, x1, Branch(x2, x3, x4, x5, x6), Branch(x7, x8, x9, x10, x11), x12, x13)
new_mkBalBranch6Size_r(x0, x1, x2, x3, x4, x5)
new_esEs10(x0, x1, ty_Bool)
new_ltEs19(x0, x1, app(ty_[], x2))
new_lt25(x0, x1, ty_Ordering)
new_esEs33(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat0(Zero, Succ(x0))
new_esEs14(x0, x1, ty_Float)
new_esEs36(x0, x1, ty_Integer)
new_esEs11(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Left(x0), Left(x1), ty_Float, x2)
new_gt17(x0, x1, ty_Float)
new_lt19(x0, x1, x2, x3)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Right(x0), Right(x1), x2, ty_Int)
new_esEs30(x0, x1, ty_@0)
new_compare6(Nothing, Nothing, x0)
new_lt20(x0, x1, ty_Char)
new_lt23(x0, x1, ty_Integer)
new_ltEs6(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs20(Right(x0), Right(x1), x2, ty_Double)
new_primPlusNat1(Zero, Succ(x0))
new_compare111(x0, x1, x2, x3, True, x4, x5)
new_lt9(x0, x1)
new_ltEs19(x0, x1, ty_Int)
new_primEqNat0(Zero, Zero)
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_esEs29(x0, x1, ty_Double)
new_lt5(x0, x1, ty_Char)
new_esEs20(Right(x0), Right(x1), x2, ty_Integer)
new_esEs21(Just(x0), Just(x1), ty_Float)
new_esEs11(x0, x1, ty_Bool)
new_compare110(x0, x1, x2, x3, True, x4, x5, x6)
new_esEs10(x0, x1, ty_Double)
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs34(x0, x1, app(app(ty_@2, x2), x3))
new_esEs37(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs14(x0, x1, ty_Double)
new_ltEs24(x0, x1, app(app(ty_Either, x2), x3))
new_compare11(x0, x1, x2, x3, x4, x5, True, x6, x7, x8, x9)
new_primMulNat0(Zero, Zero)
new_gt17(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs24(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(x0, x1, ty_Integer)
new_esEs12(LT)
new_esEs4(x0, x1, app(app(ty_Either, x2), x3))
new_splitGT0(Branch(x0, x1, x2, x3, x4), x5, x6, x7)
new_esEs31(x0, x1, ty_Double)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_primMulInt(Neg(x0), Neg(x1))
new_compare18(LT, LT)
new_lt27(x0, x1, app(app(ty_Either, x2), x3))
new_lt26(x0, x1, app(ty_Ratio, x2))
new_compare0([], [], x0)
new_esEs20(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs8(x0, x1, ty_Double)
new_esEs10(x0, x1, ty_@0)
new_lt23(x0, x1, ty_Bool)
new_esEs6(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, ty_Float)
new_gt14(x0, x1, app(ty_Maybe, x2))
new_ltEs6(Just(x0), Nothing, x1)
new_ltEs22(x0, x1, ty_Double)
new_compare27(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_compare28(x0, x1, True, x2)
new_primPlusNat0(Succ(x0), x1)
new_splitLT30(x0, x1, x2, x3, x4, x5, x6, x7)
new_esEs33(x0, x1, ty_Int)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(x0, x1, ty_Char)
new_ltEs10(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs19(LT, LT)
new_esEs31(x0, x1, ty_Float)
new_esEs5(x0, x1, ty_Bool)
new_esEs18(Char(x0), Char(x1))
new_ltEs24(x0, x1, ty_@0)
new_gt12(x0, x1, x2, x3, x4)
new_mkBalBranch6MkBalBranch5(x0, x1, x2, x3, False, x4, x5)
new_lt28(x0, x1, ty_Float)
new_esEs36(x0, x1, app(ty_Maybe, x2))
new_esEs6(x0, x1, app(app(ty_@2, x2), x3))
new_lt22(x0, x1, app(ty_Maybe, x2))
new_esEs29(x0, x1, ty_Int)
new_ltEs17(x0, x1, x2)
new_esEs38(x0, x1, ty_Float)
new_compare210(x0, x1, x2, x3, True, x4, x5)
new_esEs7(x0, x1, app(ty_[], x2))
new_lt21(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Double)
new_primMulNat0(Succ(x0), Zero)
new_esEs20(Left(x0), Right(x1), x2, x3)
new_esEs20(Right(x0), Left(x1), x2, x3)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_gt1(x0, x1, x2, x3)
new_esEs6(x0, x1, app(ty_Maybe, x2))
new_gt15(x0, x1, ty_Int)
new_compare31(x0, x1, ty_@0)
new_lt16(x0, x1)
new_lt26(x0, x1, ty_@0)
new_lt26(x0, x1, app(ty_[], x2))
new_gt14(x0, x1, ty_Double)
new_esEs7(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(Integer(x0), Integer(x1))
new_compare18(GT, GT)
new_splitGT10(x0, x1, x2, x3, x4, x5, True, x6, x7)
new_gt17(x0, x1, app(ty_[], x2))
new_gt16(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(x0, x1, ty_Bool)
new_esEs11(x0, x1, app(app(ty_Either, x2), x3))
new_esEs37(x0, x1, ty_@0)
new_esEs21(Just(x0), Nothing, x1)
new_compare17(Integer(x0), Integer(x1))
new_esEs6(x0, x1, ty_Float)
new_ltEs10(Right(x0), Right(x1), x2, ty_Char)
new_ltEs16(EQ, EQ)
new_esEs11(x0, x1, app(ty_Ratio, x2))
new_esEs40(x0, x1, ty_Int)
new_ltEs24(x0, x1, app(ty_[], x2))
new_lt22(x0, x1, ty_Bool)
new_esEs5(x0, x1, ty_@0)
new_lt22(x0, x1, ty_Char)
new_ltEs5(x0, x1, ty_Char)
new_gt10(x0, x1, x2)
new_esEs29(x0, x1, ty_Integer)
new_ltEs24(x0, x1, app(ty_Ratio, x2))
new_ltEs23(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs22(x0, x1, ty_Integer)
new_lt22(x0, x1, ty_Integer)
new_lt17(x0, x1, x2, x3, x4)
new_esEs38(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_ltEs16(LT, LT)
new_lt27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt21(x0, x1, app(ty_[], x2))
new_esEs35(x0, x1, ty_Bool)
new_esEs7(x0, x1, app(app(ty_@2, x2), x3))
new_lt6(x0, x1, ty_Int)
new_lt23(x0, x1, ty_Char)
new_esEs4(x0, x1, ty_Double)
new_esEs11(x0, x1, app(ty_Maybe, x2))
new_ltEs6(Just(x0), Just(x1), ty_@0)
new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, Branch(x6, x7, x8, x9, x10), x11, False, x12, x13)
new_esEs36(x0, x1, ty_Ordering)
new_ltEs10(Right(x0), Left(x1), x2, x3)
new_ltEs10(Left(x0), Right(x1), x2, x3)
new_esEs11(x0, x1, ty_Double)
new_esEs35(x0, x1, app(ty_Ratio, x2))
new_gt16(x0, x1, ty_Double)
new_ltEs6(Nothing, Just(x0), x1)
new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, x5, Branch(x6, x7, x8, x9, x10), x11, False, x12, x13)
new_esEs33(x0, x1, app(ty_Ratio, x2))
new_esEs34(x0, x1, ty_Float)
new_esEs32(x0, x1, ty_@0)
new_esEs7(x0, x1, ty_Double)
new_esEs4(x0, x1, ty_Char)
new_lt25(x0, x1, app(app(ty_@2, x2), x3))
new_gt16(x0, x1, app(ty_[], x2))
new_esEs20(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs21(Just(x0), Just(x1), ty_Double)
new_gt11(x0, x1)
new_esEs5(x0, x1, ty_Int)
new_lt5(x0, x1, ty_Int)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(Right(x0), Right(x1), x2, ty_Bool)
new_esEs23(True, True)
new_gt15(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(x0, x1, ty_@0)
new_lt5(x0, x1, app(ty_Ratio, x2))
new_gt15(x0, x1, ty_Char)
new_lt25(x0, x1, app(ty_[], x2))
new_esEs34(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_mkVBalBranch0(x0, x1, Branch(x2, x3, x4, x5, x6), EmptyFM, x7, x8)
new_esEs33(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primMinusNat0(Zero, Succ(x0))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_lt25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_gt16(x0, x1, ty_Bool)
new_primMulNat0(Zero, Succ(x0))
new_lt26(x0, x1, ty_Integer)
new_mkBranch1(x0, x1, x2, x3, x4, x5, x6)
new_compare112(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_esEs36(x0, x1, ty_Bool)
new_lt6(x0, x1, ty_Double)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_ltEs6(Just(x0), Just(x1), ty_Bool)
new_gt14(x0, x1, ty_Char)
new_lt23(x0, x1, app(ty_Ratio, x2))
new_esEs5(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs9(x0, x1, ty_Ordering)
new_compare6(Just(x0), Nothing, x1)
new_primEqNat0(Zero, Succ(x0))
new_compare5(False, True)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_compare5(True, False)
new_esEs8(x0, x1, ty_Float)
new_gt15(x0, x1, ty_Float)
new_lt27(x0, x1, ty_Double)
new_esEs31(x0, x1, app(ty_[], x2))
new_esEs14(x0, x1, ty_Integer)
new_gt17(x0, x1, app(ty_Maybe, x2))
new_esEs37(x0, x1, ty_Bool)
new_ltEs8(x0, x1)
new_ltEs20(x0, x1, ty_@0)
new_ltEs22(x0, x1, ty_Float)
new_esEs11(x0, x1, ty_@0)
new_compare30(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt25(x0, x1, ty_Double)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs39(x0, x1, ty_Integer)
new_esEs40(x0, x1, ty_Integer)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs9(x0, x1, app(ty_[], x2))
new_ltEs10(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs10(x0, x1, ty_Float)
new_ltEs6(Just(x0), Just(x1), ty_Float)
new_esEs5(x0, x1, app(ty_[], x2))
new_esEs17(:%(x0, x1), :%(x2, x3), x4)
new_ltEs16(GT, GT)
new_esEs32(x0, x1, ty_Integer)
new_esEs20(Left(x0), Left(x1), ty_Char, x2)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_lt13(x0, x1)
new_compare31(x0, x1, ty_Char)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_lt4(x0, x1)
new_esEs35(x0, x1, ty_@0)
new_esEs24(Float(x0, x1), Float(x2, x3))
new_ltEs24(x0, x1, ty_Integer)
new_esEs14(x0, x1, app(ty_Ratio, x2))
new_ltEs22(x0, x1, app(ty_[], x2))
new_lt27(x0, x1, ty_Int)
new_esEs7(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Int)
new_lt22(x0, x1, ty_Int)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs22(x0, x1, ty_Char)
new_ltEs6(Just(x0), Just(x1), ty_Ordering)
new_esEs36(x0, x1, ty_Int)
new_compare9(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs31(x0, x1, ty_Integer)
new_addToFM_C20(x0, x1, x2, x3, x4, x5, x6, True, x7, x8)
new_compare10(x0, x1, False, x2, x3)
new_ltEs11(x0, x1)
new_compare7(Right(x0), Left(x1), x2, x3)
new_compare7(Left(x0), Right(x1), x2, x3)
new_gt7(x0, x1)
new_ltEs23(x0, x1, app(ty_[], x2))
new_ltEs6(Nothing, Nothing, x0)
new_lt6(x0, x1, app(ty_[], x2))
new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, EmptyFM, x6, False, x7, x8)
new_lt23(x0, x1, ty_Ordering)
new_esEs33(x0, x1, ty_Char)
new_ltEs21(x0, x1, ty_@0)
new_esEs23(False, True)
new_esEs23(True, False)
new_esEs8(x0, x1, app(ty_Maybe, x2))
new_ltEs22(x0, x1, app(ty_Maybe, x2))
new_compare7(Left(x0), Left(x1), x2, x3)
new_gt15(x0, x1, ty_Ordering)
new_esEs37(x0, x1, ty_Double)
new_lt27(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_esEs35(x0, x1, app(ty_Maybe, x2))
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_lt28(x0, x1, ty_Bool)
new_splitLT20(x0, x1, x2, x3, x4, x5, True, x6, x7)
new_esEs11(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs5(x0, x1, ty_Integer)
new_lt25(x0, x1, ty_Int)
new_intersectFM_C2Gts(x0, x1, x2, x3, x4, x5, x6, x7)
new_esEs14(x0, x1, app(app(ty_Either, x2), x3))
new_esEs19(GT, GT)
new_lt20(x0, x1, ty_Double)
new_primPlusNat0(Zero, x0)
new_gt14(x0, x1, ty_Ordering)
new_lt21(x0, x1, ty_Int)
new_ltEs10(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs11(x0, x1, ty_Char)
new_compare31(x0, x1, ty_Bool)
new_esEs20(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs7(x0, x1, ty_@0)
new_esEs36(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt21(x0, x1, ty_Char)
new_gt16(x0, x1, app(app(ty_Either, x2), x3))
new_esEs15(x0, x1, ty_Double)
new_gt13(x0, x1, x2)
new_esEs6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs8(x0, x1, ty_@0)
new_lt14(x0, x1)
new_esEs30(x0, x1, ty_Double)
new_esEs20(Right(x0), Right(x1), x2, ty_Float)
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(x0, x1, app(ty_Ratio, x2))
new_esEs5(x0, x1, ty_Ordering)
new_esEs21(Just(x0), Just(x1), app(ty_[], x2))
new_esEs33(x0, x1, ty_Ordering)
new_esEs7(x0, x1, ty_Int)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_esEs19(EQ, LT)
new_esEs19(LT, EQ)
new_esEs21(Nothing, Just(x0), x1)
new_gt17(x0, x1, ty_Bool)
new_ltEs10(Left(x0), Left(x1), ty_Char, x2)
new_not(True)
new_lt27(x0, x1, ty_@0)
new_esEs35(x0, x1, ty_Double)
new_esEs6(x0, x1, ty_Integer)
new_esEs15(x0, x1, ty_@0)
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs16(GT, EQ)
new_ltEs16(EQ, GT)
new_addToFM_C10(x0, x1, x2, x3, x4, x5, x6, True, x7, x8)
new_gt16(x0, x1, ty_Ordering)
new_lt26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(x0, x1, ty_Ordering)
new_esEs15(x0, x1, app(ty_[], x2))
new_esEs27(@0, @0)
new_esEs13(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs36(x0, x1, app(ty_Ratio, x2))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_not(False)
new_esEs38(x0, x1, app(ty_Ratio, x2))
new_gt16(x0, x1, app(ty_Ratio, x2))
new_ltEs16(EQ, LT)
new_ltEs16(LT, EQ)
new_esEs33(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, ty_Ordering)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Bool)
new_esEs29(x0, x1, ty_@0)
new_mkVBalBranch3MkVBalBranch10(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, True, x12, x13)
new_esEs12(EQ)
new_esEs31(x0, x1, ty_@0)
new_gt16(x0, x1, ty_Char)
new_lt20(x0, x1, ty_@0)
new_gt14(x0, x1, ty_@0)
new_lt26(x0, x1, app(app(ty_@2, x2), x3))
new_primCmpNat0(Succ(x0), Zero)
new_gt14(x0, x1, ty_Int)
new_asAs(False, x0)
new_ltEs20(x0, x1, ty_Double)
new_lt28(x0, x1, app(app(ty_@2, x2), x3))
new_primEqNat0(Succ(x0), Succ(x1))
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs11(x0, x1, ty_Int)
new_compare31(x0, x1, ty_Ordering)
new_compare31(x0, x1, app(ty_[], x2))
new_compare15(x0, x1, False, x2)
new_lt25(x0, x1, ty_Integer)
new_compare6(Just(x0), Just(x1), x2)
new_compare25(x0, x1, True, x2, x3)
new_gt16(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, ty_@0)
new_esEs15(x0, x1, ty_Char)
new_primPlusInt(Neg(x0), Neg(x1))
new_esEs12(GT)
new_primCompAux0(x0, LT)
new_ltEs23(x0, x1, app(ty_Ratio, x2))
new_sizeFM0(Branch(x0, x1, x2, x3, x4), x5, x6)
new_primEqInt(Pos(Zero), Pos(Zero))
new_lt5(x0, x1, ty_Double)
new_lt6(x0, x1, app(ty_Ratio, x2))
new_esEs36(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(x0, x1, app(app(ty_@2, x2), x3))
new_mkBalBranch6MkBalBranch4(x0, x1, x2, Branch(x3, x4, x5, x6, x7), True, x8, x9)
new_esEs30(x0, x1, ty_Bool)
new_lt22(x0, x1, ty_Float)
new_compare31(x0, x1, app(ty_Ratio, x2))
new_lt22(x0, x1, app(ty_[], x2))
new_mkBalBranch6MkBalBranch3(x0, x1, x2, x3, False, x4, x5)
new_esEs33(x0, x1, ty_Bool)
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs12(x0, x1)
new_esEs5(x0, x1, app(ty_Ratio, x2))
new_primPlusNat1(Succ(x0), Succ(x1))
new_primMinusNat0(Succ(x0), Zero)
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_lt6(x0, x1, ty_Integer)
new_esEs34(x0, x1, ty_@0)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_Bool)
new_ltEs5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs39(x0, x1, ty_Int)
new_esEs20(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_ltEs19(x0, x1, ty_Double)
new_lt21(x0, x1, ty_Float)
new_lt20(x0, x1, ty_Integer)
new_esEs37(x0, x1, ty_Int)
new_esEs38(x0, x1, ty_Char)
new_lt5(x0, x1, ty_Ordering)
new_ltEs5(x0, x1, ty_Bool)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_gt8(x0, x1)
new_ltEs10(Right(x0), Right(x1), x2, ty_Float)
new_ltEs9(x0, x1, x2)
new_ltEs19(x0, x1, ty_Integer)
new_ltEs24(x0, x1, ty_Bool)
new_gt15(x0, x1, ty_Double)
new_esEs37(x0, x1, app(ty_Ratio, x2))
new_esEs33(x0, x1, ty_Double)
new_ltEs10(Left(x0), Left(x1), ty_Bool, x2)
new_lt11(x0, x1, x2, x3)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_lt28(x0, x1, app(ty_Ratio, x2))
new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, x5, EmptyFM, x6, False, x7, x8)
new_compare16(Float(x0, x1), Float(x2, x3))
new_lt21(x0, x1, app(ty_Ratio, x2))
new_compare111(x0, x1, x2, x3, False, x4, x5)
new_ltEs24(x0, x1, ty_Double)
new_compare25(x0, x1, False, x2, x3)
new_esEs38(x0, x1, app(app(ty_Either, x2), x3))
new_compare210(x0, x1, x2, x3, False, x4, x5)
new_esEs35(x0, x1, app(app(ty_Either, x2), x3))
new_esEs8(x0, x1, app(ty_Ratio, x2))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_gt14(x0, x1, app(app(ty_Either, x2), x3))
new_esEs31(x0, x1, ty_Char)
new_ltEs20(x0, x1, ty_Ordering)
new_gt17(x0, x1, ty_Char)
new_esEs37(x0, x1, ty_Float)
new_esEs34(x0, x1, ty_Int)
new_ltEs15(False, False)
new_esEs33(x0, x1, app(ty_[], x2))
new_lt23(x0, x1, ty_Float)
new_ltEs22(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, ty_Bool)
new_gt14(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs38(x0, x1, ty_Int)
new_esEs38(x0, x1, ty_Ordering)
new_esEs31(x0, x1, ty_Ordering)
new_ltEs23(x0, x1, ty_Bool)
new_lt27(x0, x1, ty_Ordering)
new_esEs6(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs22(x0, x1, ty_Int)
new_ltEs10(Right(x0), Right(x1), x2, ty_Bool)
new_compare112(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_esEs38(x0, x1, app(ty_[], x2))
new_splitLT0(EmptyFM, x0, x1, x2)
new_sr(x0, x1)
new_ltEs22(x0, x1, ty_@0)
new_lt27(x0, x1, ty_Char)
new_lt26(x0, x1, ty_Ordering)
new_esEs14(x0, x1, app(ty_[], x2))
new_esEs15(x0, x1, ty_Bool)
new_esEs35(x0, x1, ty_Ordering)
new_ltEs10(Left(x0), Left(x1), ty_Int, x2)
new_lt15(x0, x1)
new_lt27(x0, x1, ty_Integer)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs5(x0, x1, ty_Int)
new_esEs10(x0, x1, ty_Char)
new_esEs6(x0, x1, ty_Char)
new_lt22(x0, x1, ty_@0)
new_esEs23(False, False)
new_mkBalBranch6MkBalBranch3(x0, x1, Branch(x2, x3, x4, x5, x6), x7, True, x8, x9)
new_primPlusInt(Pos(x0), Neg(x1))
new_primPlusInt(Neg(x0), Pos(x1))
new_gt0(x0, x1)
new_compare0(:(x0, x1), [], x2)
new_gt15(x0, x1, ty_Integer)
new_gt14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare26(x0, x1, False, x2, x3)
new_compare27(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_esEs5(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Integer)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_mkVBalBranch3MkVBalBranch20(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, True, x12, x13)
new_lt6(x0, x1, ty_@0)
new_esEs38(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, app(ty_[], x2))
new_esEs38(x0, x1, ty_Integer)
new_esEs8(x0, x1, app(app(ty_Either, x2), x3))
new_lt6(x0, x1, ty_Float)
new_compare12(x0, x1, False, x2, x3)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs5(x0, x1, ty_Double)
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_fsEs(x0)
new_ltEs5(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(ty_[], x2))
new_ltEs10(Right(x0), Right(x1), x2, ty_Ordering)
new_intersectFM_C2Lts(x0, x1, x2, x3, x4, x5, x6, x7)
new_lt6(x0, x1, ty_Bool)
new_lt21(x0, x1, ty_Bool)
new_esEs37(x0, x1, app(app(ty_@2, x2), x3))
new_lt27(x0, x1, ty_Float)
new_esEs34(x0, x1, ty_Ordering)
new_esEs32(x0, x1, ty_Bool)
new_lt26(x0, x1, ty_Float)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs6(x0, x1, ty_Int)
new_compare10(x0, x1, True, x2, x3)
new_primCompAux1(x0, x1, x2, x3)
new_lt10(x0, x1, x2)
new_esEs11(x0, x1, app(ty_[], x2))
new_compare29(Char(x0), Char(x1))
new_asAs(True, x0)
new_esEs15(x0, x1, app(app(ty_@2, x2), x3))
new_esEs4(x0, x1, ty_Float)
new_gt14(x0, x1, ty_Integer)
new_lt26(x0, x1, ty_Int)
new_lt23(x0, x1, ty_Double)
new_lt21(x0, x1, ty_Double)
new_ltEs24(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(x0, x1, ty_Ordering)
new_mkBalBranch6MkBalBranch4(x0, x1, x2, x3, False, x4, x5)
new_esEs20(Right(x0), Right(x1), x2, ty_@0)
new_compare18(LT, EQ)
new_compare18(EQ, LT)
new_esEs33(x0, x1, ty_@0)
new_esEs8(x0, x1, ty_Bool)
new_esEs6(x0, x1, ty_Bool)
new_addToFM_C20(x0, x1, x2, x3, x4, x5, x6, False, x7, x8)
new_gt17(x0, x1, app(ty_Ratio, x2))
new_esEs20(Right(x0), Right(x1), x2, ty_Int)
new_esEs35(x0, x1, app(app(ty_@2, x2), x3))
new_sIZE_RATIO
new_esEs14(x0, x1, app(ty_Maybe, x2))
new_esEs21(Just(x0), Just(x1), ty_Integer)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs19(GT, EQ)
new_esEs19(EQ, GT)
new_lt26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs33(x0, x1, ty_Integer)
new_ltEs6(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs20(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs34(x0, x1, ty_Char)
new_ltEs5(x0, x1, ty_Float)
new_compare19(Double(x0, x1), Double(x2, x3))
new_esEs37(x0, x1, ty_Ordering)
new_compare11(x0, x1, x2, x3, x4, x5, False, x6, x7, x8, x9)
new_splitLT20(x0, x1, x2, x3, x4, x5, False, x6, x7)
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs36(x0, x1, ty_Char)
new_esEs8(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_mkBalBranch6MkBalBranch5(x0, x1, x2, x3, True, x4, x5)
new_esEs8(x0, x1, ty_Ordering)
new_esEs20(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs20(Left(x0), Left(x1), ty_Int, x2)
new_lt6(x0, x1, app(ty_Maybe, x2))
new_esEs41(GT)
new_lt23(x0, x1, app(ty_[], x2))
new_esEs14(x0, x1, ty_@0)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6)
new_ltEs10(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_splitGT20(x0, x1, x2, x3, x4, x5, False, x6, x7)
new_lt25(x0, x1, app(ty_Maybe, x2))
new_ltEs6(Just(x0), Just(x1), ty_Integer)
new_splitLT10(x0, x1, x2, x3, x4, x5, False, x6, x7)
new_ltEs21(x0, x1, ty_Ordering)
new_lt6(x0, x1, ty_Char)
new_compare18(GT, LT)
new_compare18(LT, GT)
new_compare5(True, True)
new_esEs34(x0, x1, app(ty_Ratio, x2))
new_mkBranch0(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22([], :(x0, x1), x2)
new_lt21(x0, x1, ty_Ordering)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_esEs4(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs6(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs23(x0, x1, ty_Double)
new_mkVBalBranch3MkVBalBranch10(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, False, x12, x13)
new_gt16(x0, x1, app(ty_Maybe, x2))
new_esEs21(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs32(x0, x1, ty_Char)
new_primPlusNat1(Zero, Zero)
new_esEs38(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Float)
new_lt22(x0, x1, app(app(ty_Either, x2), x3))
new_primEqNat0(Succ(x0), Zero)
new_compare31(x0, x1, ty_Float)
new_esEs35(x0, x1, app(ty_[], x2))
new_ltEs23(x0, x1, ty_Int)
new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, x5, x6, x7, True, x8, x9)
new_esEs4(x0, x1, ty_@0)
new_gt16(x0, x1, ty_Int)
new_esEs30(x0, x1, ty_Integer)
new_compare28(x0, x1, False, x2)
new_esEs32(x0, x1, ty_Float)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primPlusNat1(Succ(x0), Zero)
new_esEs10(x0, x1, ty_Int)
new_gt17(x0, x1, ty_@0)
new_ltEs19(x0, x1, ty_Ordering)
new_esEs41(EQ)
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_lt28(x0, x1, ty_Int)
new_mkBalBranch6MkBalBranch3(x0, x1, EmptyFM, x2, True, x3, x4)
new_lt20(x0, x1, ty_Ordering)
new_esEs7(x0, x1, app(ty_Maybe, x2))
new_esEs22(:(x0, x1), :(x2, x3), x4)
new_esEs34(x0, x1, app(ty_[], x2))
new_lt23(x0, x1, ty_Int)
new_esEs36(x0, x1, app(app(ty_@2, x2), x3))
new_splitLT10(x0, x1, x2, x3, x4, x5, True, x6, x7)
new_ltEs10(Right(x0), Right(x1), x2, ty_Double)
new_esEs36(x0, x1, ty_@0)
new_ltEs10(Left(x0), Left(x1), ty_@0, x2)
new_esEs10(x0, x1, ty_Ordering)
new_ltEs6(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs20(x0, x1, app(ty_[], x2))
new_ltEs16(LT, GT)
new_ltEs16(GT, LT)
new_esEs20(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_gt14(x0, x1, app(ty_Ratio, x2))
new_esEs14(x0, x1, app(app(ty_@2, x2), x3))
new_esEs8(x0, x1, ty_Char)
new_lt23(x0, x1, app(app(ty_@2, x2), x3))
new_lt28(x0, x1, ty_@0)
new_esEs4(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, ty_Char)
new_ltEs15(True, False)
new_esEs35(x0, x1, ty_Int)
new_ltEs15(False, True)
new_esEs30(x0, x1, app(ty_[], x2))
new_lt5(x0, x1, ty_Integer)
new_lt28(x0, x1, ty_Integer)
new_esEs7(x0, x1, app(ty_Ratio, x2))
new_lt25(x0, x1, ty_Char)
new_lt25(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_ltEs10(Right(x0), Right(x1), x2, ty_@0)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt25(x0, x1, ty_@0)
new_primCompAux0(x0, EQ)
new_gt16(x0, x1, ty_@0)
new_esEs5(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Float)
new_ltEs23(x0, x1, ty_Float)
new_compare13(@0, @0)
new_esEs34(x0, x1, ty_Double)
new_ltEs22(x0, x1, ty_Bool)
new_lt12(x0, x1)
new_ltEs19(x0, x1, ty_Bool)
new_mkBalBranch(x0, x1, x2, x3, x4, x5)
new_lt26(x0, x1, app(ty_Maybe, x2))
new_gt15(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Bool)
new_esEs14(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs14(x0, x1, ty_Int)
new_mkBalBranch6Size_l(x0, x1, x2, x3, x4, x5)
new_ltEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs33(x0, x1, ty_Float)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_gt15(x0, x1, app(app(ty_Either, x2), x3))
new_esEs31(x0, x1, ty_Int)
new_lt8(x0, x1)
new_esEs4(x0, x1, ty_Integer)
new_esEs21(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs4(x0, x1, app(ty_Maybe, x2))
new_esEs7(x0, x1, ty_Float)
new_mkBranchResult(x0, x1, x2, x3, x4, x5)
new_ltEs5(x0, x1, ty_Integer)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs36(x0, x1, ty_Float)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs34(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs22(x0, x1, ty_Ordering)
new_esEs32(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, ty_Char)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, ty_Char)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_gt6(x0, x1, x2, x3)
new_lt5(x0, x1, ty_Float)
new_lt25(x0, x1, ty_Float)
new_esEs37(x0, x1, app(ty_[], x2))
new_gt15(x0, x1, ty_Bool)
new_lt28(x0, x1, ty_Ordering)
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs29(x0, x1, ty_Float)
new_pePe(False, x0)
new_primMinusNat0(Succ(x0), Succ(x1))
new_ltEs13(x0, x1)
new_lt22(x0, x1, ty_Double)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare9(:%(x0, x1), :%(x2, x3), ty_Integer)
new_splitLT0(Branch(x0, x1, x2, x3, x4), x5, x6, x7)
new_esEs8(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Float)
new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, x6, x7, True, x8, x9)
new_esEs38(x0, x1, app(ty_Maybe, x2))
new_esEs21(Just(x0), Just(x1), ty_Ordering)
new_ltEs5(x0, x1, app(ty_Ratio, x2))
new_gt17(x0, x1, ty_Ordering)
new_esEs21(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_gt5(x0, x1, x2)
new_gt15(x0, x1, ty_@0)
new_lt23(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs9(x0, x1, ty_Double)
new_ltEs4(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_mkBranch(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs22(x0, x1, app(app(ty_Either, x2), x3))
new_addToFM_C0(EmptyFM, x0, x1, x2, x3)
new_compare8(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_primCmpNat0(Zero, Zero)
new_lt23(x0, x1, app(app(ty_Either, x2), x3))
new_compare31(x0, x1, ty_Integer)
new_compare31(x0, x1, ty_Int)
new_primCompAux0(x0, GT)
new_lt20(x0, x1, app(ty_[], x2))
new_gt14(x0, x1, app(ty_[], x2))
new_emptyFM(x0, x1)
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_mkBalBranch6MkBalBranch4(x0, x1, x2, EmptyFM, True, x3, x4)
new_esEs32(x0, x1, ty_Double)
new_esEs7(x0, x1, ty_Bool)
new_esEs33(x0, x1, app(ty_Maybe, x2))
new_esEs20(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt18(x0, x1, x2)
new_esEs20(Left(x0), Left(x1), ty_@0, x2)
new_esEs11(x0, x1, ty_Float)
new_ltEs10(Right(x0), Right(x1), x2, ty_Integer)
new_compare6(Nothing, Just(x0), x1)
new_lt26(x0, x1, ty_Bool)
new_ltEs10(Left(x0), Left(x1), app(ty_[], x2), x3)
new_lt23(x0, x1, ty_@0)
new_compare15(x0, x1, True, x2)
new_esEs14(x0, x1, ty_Ordering)
new_lt25(x0, x1, app(ty_Ratio, x2))
new_gt2(x0, x1)
new_pePe(True, x0)
new_sr0(Integer(x0), Integer(x1))
new_ltEs7(x0, x1)
new_ltEs10(Left(x0), Left(x1), ty_Double, x2)
new_esEs5(x0, x1, ty_Char)
new_esEs30(x0, x1, ty_Float)
new_esEs37(x0, x1, ty_Integer)
new_esEs19(EQ, EQ)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_addToFM(x0, x1, x2, x3, x4)
new_esEs41(LT)
new_ltEs6(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_lt27(x0, x1, ty_Bool)
new_compare18(EQ, GT)
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_compare18(GT, EQ)
new_lt27(x0, x1, app(ty_Maybe, x2))
new_ltEs10(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_gt17(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_@0)
new_esEs4(x0, x1, app(ty_[], x2))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_ltEs21(x0, x1, ty_Integer)
new_esEs20(Left(x0), Left(x1), ty_Float, x2)
new_splitGT30(x0, x1, x2, x3, x4, x5, x6, x7)
new_lt27(x0, x1, app(ty_[], x2))
new_gt4(x0, x1)
new_compare5(False, False)
new_esEs15(x0, x1, ty_Ordering)
new_compare26(x0, x1, True, x2, x3)
new_lt22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs19(GT, LT)
new_esEs19(LT, GT)
new_ltEs23(x0, x1, ty_Ordering)
new_ltEs5(x0, x1, ty_Double)
new_ltEs6(Just(x0), Just(x1), app(ty_[], x2))
new_gt9(x0, x1)
new_lt6(x0, x1, ty_Ordering)
new_lt28(x0, x1, ty_Double)
new_esEs21(Just(x0), Just(x1), ty_Char)
new_esEs20(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_lt5(x0, x1, ty_Bool)
new_esEs20(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs10(Left(x0), Left(x1), ty_Ordering, x2)
new_lt26(x0, x1, ty_Char)
new_ltEs10(Left(x0), Left(x1), ty_Integer, x2)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt5(x0, x1, app(ty_[], x2))
new_esEs34(x0, x1, ty_Bool)
new_esEs37(x0, x1, app(ty_Maybe, x2))
new_ltEs6(Just(x0), Just(x1), ty_Char)
new_ltEs10(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs19(x0, x1, ty_@0)
new_mkVBalBranch0(x0, x1, EmptyFM, x2, x3, x4)
new_lt21(x0, x1, ty_@0)
new_ltEs23(x0, x1, ty_Integer)
new_esEs20(Left(x0), Left(x1), ty_Double, x2)
new_compare12(x0, x1, True, x2, x3)
new_esEs21(Just(x0), Just(x1), ty_Int)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_lt7(x0, x1, x2)
new_ltEs5(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs24(x0, x1, ty_Ordering)
new_ltEs5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_Char)
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs15(x0, x1, ty_Float)
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs15(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, ty_Ordering)
new_esEs8(x0, x1, app(app(ty_@2, x2), x3))
new_lt28(x0, x1, app(ty_Maybe, x2))
new_esEs20(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs30(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_gt15(x0, x1, app(ty_[], x2))
new_gt17(x0, x1, app(app(ty_@2, x2), x3))
new_esEs6(x0, x1, ty_Double)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs20(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs34(x0, x1, app(ty_Maybe, x2))
new_esEs20(Right(x0), Right(x1), x2, ty_Char)
new_esEs20(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs28(x0, x1)
new_lt23(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs25(Double(x0, x1), Double(x2, x3))
new_ltEs21(x0, x1, ty_Double)
new_esEs15(x0, x1, app(app(ty_Either, x2), x3))
new_gt17(x0, x1, ty_Int)
new_esEs15(x0, x1, ty_Int)
new_esEs35(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs38(x0, x1, ty_@0)
new_gt14(x0, x1, ty_Bool)
new_esEs36(x0, x1, ty_Double)
new_compare14(x0, x1)
new_ltEs23(x0, x1, app(ty_Maybe, x2))
new_esEs15(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, ty_Bool)
new_sizeFM0(EmptyFM, x0, x1)
new_ltEs5(x0, x1, app(ty_Maybe, x2))
new_esEs5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs35(x0, x1, ty_Char)
new_ltEs20(x0, x1, ty_Int)
new_ltEs24(x0, x1, ty_Int)
new_compare18(EQ, EQ)
new_esEs35(x0, x1, ty_Integer)
new_lt28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs10(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_splitGT10(x0, x1, x2, x3, x4, x5, False, x6, x7)
new_esEs31(x0, x1, ty_Bool)
new_esEs21(Just(x0), Just(x1), ty_Bool)
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Integer)
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
new_lt28(x0, x1, app(ty_[], x2))
new_lt22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_gt17(x0, x1, ty_Integer)
new_splitGT20(x0, x1, x2, x3, x4, x5, True, x6, x7)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primMulInt(Pos(x0), Pos(x1))
new_addToFM_C0(Branch(x0, x1, x2, x3, x4), x5, x6, x7, x8)
new_ltEs24(x0, x1, ty_Float)
new_esEs6(x0, x1, ty_@0)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs: